Tìm màu sắc tương tự như hình ảnh


7

Tôi đang làm việc trên một chương trình để sử dụng các hình ảnh được chọn ngẫu nhiên làm nền màn hình. Bây giờ, không phải tất cả các hình ảnh đều có hình dạng giống như màn hình máy tính. Một ý tưởng tôi có để xử lý vấn đề này là đặt màu nền tương tự như hình ảnh. Làm thế nào tôi sẽ đi về việc tìm màu này?

Tính trung bình RGB đơn giản không tính đến các phi tuyến như màn hình gamma và không xử lý hệ thống thị giác của con người.


Đây không phải là câu hỏi của bạn, nhưng bạn thường thấy trên TV rằng hình ảnh 4: 3 được mở rộng ra màn hình rộng bằng cách sử dụng bản sao mờ và kéo dài trong nền. Điều đó có thể làm việc cho bạn.
Jorge Rodriguez

Câu trả lời:


3

Bạn có thể thử một số dạng thuật toán lượng tử hóa màu, thường trích xuất các màu N chiếm ưu thế nhất. Cái tôi đã thấy được tham chiếu nhiều nhất là lượng tử cắt trung bình đã sửa đổi [.pdf], dựa trên lượng tử hóa cắt trung bình [.doc]. Lợi ích của loại thuật toán này là thay vì chỉ lấy trung bình mọi màu trong ảnh, nó sẽ trích xuất và loại bỏ các màu rất nổi bật khác thay vì cho phép chúng làm ô nhiễm mức trung bình.

Khái niệm là không gian màu (không gian RGB) được phân vùng thành các vùng hình chữ nhật được căn chỉnh theo trục 3D (tờ giấy gọi chúng là các hộp) và được phân chia lặp lại bằng cách chia các hộp, cố gắng để lại một nửa pixel ở mỗi bên của phần tách. Kết quả là các cụm màu sẽ tương ứng với các cụm màu trong ảnh. Màu sắc lớn nhất có khả năng "tương tự về mặt nhận thức" với hình ảnh.

Có một triển khai JavaScript và bản demo của thuật toán này được gọi là Color Thief .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.