"सामग्री" के साथ छवि खोजने के लिए विपरीत अनुपात या किसी भी प्रकार की माप कैसे प्राप्त करें? [बंद] - रूबी, छवि प्रसंस्करण, minimagick, विपरीत

मैं छवियों को "स्कोर" करने का एक तरीका खोजने की कोशिश कर रहा हूंयह एक लोगो होने की संभावना है। मैंने विपरीत अनुपात की अवधारणा का उपयोग करने पर विचार किया है। मैं एक ऐसी छवि की तुलना करूँगा जो स्पष्ट रूप से अन्य छवियों के साथ एक लोगो होगा जो मूल रूप से एक पृष्ठभूमि रंग या एक पृष्ठभूमि का रंग होगा जिसमें दूसरे रंग में एक स्तंभ होगा। उदाहरण के लिए:

काले रंग की पृष्ठभूमि

बनाम

जैक की पृष्ठभूमि

So, how can I measure the contrast ratio using किसी भी रूबी पुस्तकालय? मैं वर्तमान में मिनीमैकिक का उपयोग कर रहा हूं, लेकिन मुझे इसके विपरीत अनुपात प्राप्त करने का एक तरीका नहीं मिला। इसे संशोधित करने के लिए विकल्प हैं, लेकिन अनुपात प्रति कहने के लिए नहीं।

उत्तर:

उत्तर № 1 के लिए 1

आप इसे लगभग दो चरणों में कर सकते हैं।

पहले RMagick का उपयोग करके चित्र का हिस्टोग्राम प्राप्त करें:

http://www.simplesystems.org/RMagick/doc/image1.html#color_histogram

अगला चरण कुछ सूत्र लागू कर रहा है। जो मैं नीचे प्रदान करता हूं वह एक है जो मैं अभी अपने सिर के ऊपर से आया था। हालांकि, कुछ अन्य हैं:

http://en.wikipedia.org/wiki/Contrast_(vision)#Formula

अगला औसत रंग को प्रत्येक पिक्सेल को उसके वजन से गुणा करके और फिर पिक्सेल की कुल संख्या से विभाजित करके गणना करें। कुछ इस तरह:

color_histogram.each do |pixel, count|
total_red += pixel.red*count
total_blue += pixel.blue*count
total_green += pixel.green*count
end

average_red = total_red / pixel_count average_blue = total_blue / pixel_count average_green = total_green / pixel_count

एक बार जब आपका "औसत रंग" हो जाए, तो प्रत्येक पिक्सेल और औसत के बीच की कुल दूरी निर्धारित करें:

color_histogram.each do |pixel, count|
distance_red += Math.abs(average_red - pixel.red)
distance_blue += Math.abs(average_blue - pixel.blue)
distance_green += Math.abs(average_green - pixel.green)
end

योग distance_red + distance_blue + distance_green मोटे तौर पर छवि के "कंट्रास्ट" के बराबर होना चाहिए।


संबंधित सवाल
सबसे लोकप्रिय