[英]Image algorithm - detection of a light
您可以直接從命令行使用ImageMagick完成一些非常基本的操作,而無需任何代碼。 它已安裝在大多數Linux發行版上,並且可用於OSX和Windows。
基本上,您會尋找藍色通道遠大於紅色或綠色通道且飽和度較高的像素。 您可以這樣做:
convert on.jpg -fx "u.b>(u.g+0.2) && u.b>(u.r+0.2) && saturation>0.6" result.png
而當您針對off
圖片運行該圖片時:
convert off.jpg -fx "u.b>(u.g+0.2)&&u.b>(u.r+0.2)&&saturation>0.6" result.png
您可以像這樣計算以上圖像中的白色像素:
convert result.png -format "%[fx:mean*w*h]" info:
1227
因此在on
圖像中有1227個像素被標識為亮藍色,在off
圖像中有26個像素被標識為亮藍色。
您可以測試兩個圖像,而無需創建我在上面創建的中間輸出文件:
convert off.jpg -fx "u.b>(u.g+0.2)&&u.b>(u.r+0.2)&&saturation>0.6" -format "%[fx:mean*w*h]" info:
26
convert on.jpg -fx "u.b>(u.g+0.2)&&u.b>(u.r+0.2)&&saturation>0.6" -format "%[fx:mean*w*h]" info:
1227
當然,您可能想要欺騙並嘗試我建議的數字。
還要注意,ImageMagick有C,C ++,C#,PHP,Perl,Javascript,Ruby和其他綁定-因此,您實際上可以使用任何一種語言來完成上述所有操作。 或者只是exec()
或system()
以上內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.