2012-12-21 44 views
6

Tôi có hai giá trị màu trong HSI (Độ bão hòa và cường độ Hue) và tôi muốn một số đại diện cho sự khác biệt trực quan giữa hai màu. Huế là một số nằm trong khoảng từ 0 đến 360. Độ bão hòa là 0 đến 1 và Cường độ là 0 đến 1.Tính khác biệt rõ ràng về màu giữa hai giá trị màu HSI

Cho phép xem xét ví dụ Màu đỏ và Xanh ở Độ bão hòa 100% và Cường độ 100%. At this website is a way to display the color by entering in the following text.

đỏ là: hsv 0, 100%, 100%

màu xanh là: hsv 240, 100%, 100%

enter image description here

Rõ ràng đây là hai màu sắc rất khác nhau và một cách đơn giản tôi có thể thử tính toán sự khác biệt giữa các màu là sử dụng thành phần Hue và tính toán độ chênh lệch tuyệt đối của màu sắc sẽ là 120 (360-240) vì 360 cũng bằng 0 trong màu sắc.

Sự cố xảy ra khi độ bão hòa hoặc cường độ rất tối hoặc sáng, hãy xem xét màu đỏ và xanh đậm.

đỏ sẫm là: hsv 0, 100%, 20%

màu xanh đậm là: hsv 240, 100% 20%

enter image description here

Rõ ràng sự khác biệt về quan điểm giữa hai màu sắc này ít hơn màu đỏ và xanh tươi sáng, như một con người sẽ nói nếu được yêu cầu so sánh sự khác biệt. Ý tôi là, hỏi một người bạn "Đôi màu nào khác biệt nhất?" họ có thể sẽ nói màu xanh đỏ rực rỡ.

Tôi đang cố gắng tính toán sự khác biệt giữa hai màu như một con người sẽ nhận thấy. Nếu một con người nhìn vào hai màu a và b, thì hai màu c và d, anh ta có thể nhận ra cái nào là khác nhất. Thứ nhất, nếu màu sắc sáng (nhưng không quá sáng) thì sự khác biệt là màu sắc. Nếu màu sắc quá sáng như màu trắng hoặc quá tối chẳng hạn như màu đen hoặc quá xám thì sự khác biệt sẽ nhỏ hơn. Có thể có sự khác biệt về chức năng trong đó x = diff (a, b) và y = diff (c, d) sản lượng x và y, và tôi có thể sử dụng x và y để so sánh sự khác biệt để tìm màu sắc khác nhau hoặc màu sắc khác nhau ít nhất.

+0

tôi nghi ngờ có một câu trả lời chính xác để điều này. Bạn có thể thử không gian màu RGB, có vẻ như dễ dàng hơn để nói sự khác biệt. – xiaoyi

+0

Tôi đã làm một số tìm kiếm google và tìm thấy một thuật toán khác biệt màu sắc http://www.emanueleferonato.com/2009/09/08/color-difference-algorithm-part-2/, Ngoài ra còn có một bài viết Wikipedia về sự khác biệt màu sắc này http : //en.wikipedia.org/wiki/Color_difference phải có rất nhiều cách để làm việc này ra – Phil

+1

Tôi có một nền tảng chuyên nghiệp với in ấn/chống và cách truyền thống để tính toán sự khác biệt màu sắc có Delta E. Bạn tìm thấy một bài viết Wikipedia ở đây: http://en.wikipedia.org/wiki/Color_difference –

Trả lời

2

Các WCAG2.0 và 1.0 hướng dẫn cả hai làm tham chiếu đến phương trình khác nhau trên nhận thức của sự khác biệt màu sắc:

  1. tỷ lệ tương phản (http: //www.w3.org/TR/2008/REC-WCAG20 -20081211/Overview.html # contrast-ratiodef)

  2. chênh lệch brigtness và 3. sự khác biệt màu (http://www.w3.org/TR/AERT#color-contrast).

Tôi đã thử các phương pháp Delta-e (http: //colormine.org/delta-e-calculator/) nhưng nó là quasimetric để đo lường sự khác biệt có thể thay đổi tuỳ thuộc vào thứ tự bạn vượt qua hai màu sắc. Nếu trong ví dụ của bạn, bạn mong đợi diff (a, b) để luôn khác nhau (b, a) thì đây không phải là những gì bạn muốn (có thể có các thuật toán khác nhau dưới tên này không phải là số nguyên nhưng tôi chưa xem xét nó qua trang web đó).

Tôi nghĩ rằng chỉ số chênh lệch màu sắc là gần nhất để phù hợp với kỳ vọng của tôi về các phép đo chênh lệch màu sắc. Ví dụ của bạn nó sẽ mang lại rằng diff (a, b)> diff (c, d)

Bạn có thể kiểm tra nó ra cho chính mình sử dụng công cụ tại trang web này: http://www.dasplankton.de/ContrastA/

1

Câu trả lời chung có vẻ là những gì David Van Driessche cho biết, để sử dụng Delta E. Tôi tìm thấy một số mã Java ở đây: https://github.com/kennyliou/GAI

Đây là một câu trả lời cho câu hỏi, có thể không phải là câu trả lời tốt nhất.

+0

Tôi không nghĩ đó là một câu trả lời tồi, bởi vì bạn đang cố gắng tính toán nhận thức của con người và đó cũng là điều xảy ra trong quy trình kiểm chứng. Khi bạn đang tạo bằng chứng, bạn đang cố gắng tạo ra một cái gì đó trông giống như sản phẩm cuối cùng dự định. Và "giống nhau" được đánh giá bởi con người và được đo lường về mặt lý thuyết (hoặc xấp xỉ) bằng cách sử dụng giá trị Delta E này. –

+0

Tùy thuộc vào những gì bạn đang thực hiện bằng cách này, hãy chú ý xem điều kiện. Con người nhìn thấy màu sắc rất khác nhau trong điều kiện ánh sáng khác nhau (ánh sáng mặt trời so với ánh sáng huỳnh quang chẳng hạn). Điều kiện ánh sáng có thể thay đổi nhận thức màu sắc của con người rất đáng kể (và do đó nhận thấy sự khác biệt màu sắc). Đến điểm mà một số màu sắc có thể trông giống nhau dưới một điều kiện ánh sáng và khác nhau trong điều kiện ánh sáng khác (tìm kiếm cho "metamerism" nếu quan tâm). –

Các vấn đề liên quan