Tôi có số lượng ảnh khá lớn và bản đồ màu RGB (giả sử khoảng 100 màu). Làm thế nào tôi có thể nhóm các hình ảnh theo màu sắc và có được một cái gì đó như sau: http://labs.ideeinc.com/multicolr?Ảnh nhóm theo màu
ý tưởng hiện tại của tôi là thế này: Sử dụng ImageMagick, làm điều này cho mỗi bức ảnh:
- Thay đổi kích thước nó đến một kích thước nhỏ hơn để nó có thể được xử lý nhanh hơn.
- Quantize mà không cần phối màu bằng bản đồ màu đã chọn của tôi.
- Nhận ảnh của histogram để nhận được số lần mỗi màu xuất hiện.
- Lưu trữ các màu trong cơ sở dữ liệu, nhưng tôi chưa tìm ra cách tốt nhất để làm điều này cho các lần truy xuất nhanh.
Bạn có biết cách nào tốt hơn và hiệu quả hơn để thực hiện việc này không? Ngôn ngữ của tôi lựa chọn là PHP vì tất cả xử lý nặng sẽ được thực hiện bởi ImageMagick, và cơ sở dữ liệu là PostgreSQL. Cảm ơn bạn trước!
Tôi nghĩ color_id hơi thêm một chút. Nếu nó chỉ tham chiếu một color_rgb, tôi không nghĩ rằng bạn cần một khóa riêng biệt. – rfusca
hoặc nó có thể tham khảo tên màu –
Tôi sẽ đánh dấu đây là câu trả lời được chấp nhận, bởi vì đây là những gì tôi đã kết thúc. Nó không phải là hoàn hảo, nhưng tôi thích nó và nó đã được khá thú vị để làm. :) Kiểm tra: http://www.picof.net/colors/. Sự cố: Tôi không biết cách chọn ảnh có nhiều màu và sắp xếp chúng theo thứ gì đó quan trọng. Tôi đã thử sắp xếp chúng theo (color_A_percent + color_B_percent + ...) nhưng sau đó tôi sẽ nhận được các bức ảnh có 99% color_A và 1% color_B. – liviucmg