Có cách nào so sánh hai màu gần nhau như thế nào không? Nếu nói cả hai đều màu xanh.
Hiện tại cách chúng tôi so sánh chúng là gán theo cách thủ công từng màu có thể cho một nhóm màu (đỏ, lục, lam ...). Và sau đó chỉ cần so sánh các chuỗi :)
Nhưng chắc chắn rằng nhiệm vụ thủ công có thể được gán cho một thuật toán nhỏ gọn.Có cách nào dễ dàng để so sánh hai màu gần nhau như thế nào với nhau
Trả lời
Delta-e, là một số duy nhất đại diện cho 'khoảng cách' nhận thức giữa hai màu sắc. Con số càng thấp, màu sắc càng giống với mắt người.
Có một vài cách khác nhau để tính toán ... CIE76 (aka CIE 1976 hoặc dE76) là phổ biến nhất.
Mỗi người đi về những điều theo một cách khác nhau, nhưng đối với hầu hết các phần họ đều yêu cầu bạn phải chuyển sang một tốt hơn (để so sánh) mô hình màu hơn RGB.
Đối với CIE76, về cơ bản bạn chỉ chuyển đổi màu của mình thành không gian màu LAB, sau đó tính toán khoảng cách 3 chiều giữa chúng.
Wikipedia có tất cả các công thức: http://en.wikipedia.org/wiki/Color_difference
Bạn có thể kiểm tra công việc của bạn với máy tính màu trực tuyến:
Bạn có thể muốn chuyển đổi màu thành mô hình HSL (Hue, Saturation, Lightness) và sau đó so sánh các giá trị trong các ngưỡng trong thứ tự HSL. Nếu màu sắc nằm trong một dung sai được coi là "đóng", sau đó kiểm tra "độ gần" của độ bão hòa và sau đó là độ sáng.
Tôi nghĩ rằng đây là một câu trả lời tốt hơn so với của David, tội lỗi ce mà không biết nếu không tôi đoán với OP sẽ tìm thấy một so sánh dựa trên HSL sẽ hữu ích hơn một dựa trên RGB. –
er ... the Op, không phải với Op .... –
@Adam Bellaire, bạn có thể giải thích tại sao điều đó có thể xảy ra không? Tôi không quá rõ ràng về sự khác biệt giữa RGB và HSL bản thân mình –
Tôi không chắc chắn về bất kỳ thuật toán nào, bạn có thể cân nhắc chuyển đổi các giá trị RGB (Đỏ, Lục, Xanh dương) thành HSB (Hue, Saturation, Brightness).
Huế về bản chất là "màu", vì vậy bạn có thể so sánh đơn giản về giá trị của các giá trị Hue.
Và còn các thứ nguyên khác thì sao? Từ quan điểm của con người, hai màu có thể hoàn toàn khác với cùng giá trị H (ví dụ: đỏ và hồng). –
- 1. So sánh hai mảng numpy với nhau
- 2. Làm thế nào để so sánh hai Danh sách <String> với nhau?
- 3. Làm thế nào để so sánh chuỗi thứ hai đó là tất cả "gần bằng nhau" trong Java?
- 4. Lua với Qt dễ dàng như thế nào so với QtScript?
- 5. Làm cách nào để so sánh hai cấu trúc dữ liệu lồng nhau để hủy gửi?
- 6. Java: Có cách nào dễ dàng, nhanh chóng với AND, OR hoặc XOR cùng nhau không?
- 7. Một cách dễ dàng (công cụ?) Để so sánh hình ảnh pixel cho pixel ở các định dạng khác nhau?
- 8. "đang sử dụng" hai thư viện khác nhau có chức năng gần như giống hệt nhau
- 9. Elm so sánh với ClojureScript như thế nào?
- 10. Có cách nào dễ dàng để hợp nhất hai chuỗi được sắp xếp bằng LINQ không?
- 11. Làm thế nào để so sánh các chuỗi gần như tương tự trong Java? (Chuỗi khoảng cách đo)
- 12. So sánh nếu hai tập tin giống nhau trên internet
- 13. Làm cách nào để khẳng định rằng hai giá trị HashMap với Javabean là như nhau?
- 14. SQL: Giống như so sánh - Các kết quả khác nhau
- 15. so sánh và so sánh công việc như thế nào?
- 16. Làm cách nào để tôi có thể so sánh hai giá trị màu trong jQuery/JavaScript?
- 17. netezza hoạt động như thế nào? nó so sánh với Hadoop như thế nào?
- 18. Có cách nào dễ dàng để trộn hai giá trị System.Drawing.Color không?
- 19. Làm cách nào để so sánh hai biểu thức lambda?
- 20. Cách dễ nhất để tìm hiểu xem hai tệp có khác nhau theo chương trình không?
- 21. FlockDB so sánh với neo4j như thế nào?
- 22. Làm cách nào để so sánh hai băm?
- 23. Docker so sánh với openhift như thế nào?
- 24. Giá GUID và so sánh đắt tiền như thế nào so với so sánh chuỗi
- 25. Làm thế nào để so sánh hai biến CGSize?
- 26. Làm thế nào để dễ dàng phát hiện 2 đường giao nhau có bị cắt trong OpenCv?
- 27. so sánh hai tệp xml với xslt?
- 28. Prism so sánh với Caliburn như thế nào?
- 29. So sánh hai mảng có cùng giá trị nhưng với một thứ tự khác nhau
- 30. Làm cách nào để tôi có thể so sánh hai ngày trong vbscript/ASP?
Chúng tôi những người mù màu, có thể không đồng ý với những gì màu sắc là gần, hoặc khác nhau ... –