與-threshold Y%
的問題是這樣的:它會翻譯所有像素,它們都是黑色的黑色!
如果圖像中有其他深色(深褐色,深藍色,深紅色,深灰色或黑色),則會錯誤地將其識別爲「木材」。
如果我正確理解你,你只是在尋找那些像素爲綠色或深綠色的像素。
爲此我建議基準自己用下面的命令的一些變種的方法:
compare \
-size 600x600 \
-fuzz 30% \
http://i.stack.imgur.com/kqMtt.png \
xc:'darkgreen' \
output-1.png
而是「深綠」,你可以使用「#006400」各自的顏色值,它是相同的:
compare \
-size 600x600 \
-fuzz 30% \
http://i.stack.imgur.com/kqMtt.png \
xc:'#006400' \
output-2.png
上面compare
命令創建從兩個輸入圖像的output-1.png
具有以下特徵:
- 原始圖像的比較是針對動態創建的(
xc:
)600x600像素的均勻顏色「深綠色」色塊進行的;
- 輸出將原始圖像顯示爲淺色背景;
- 輸出顯示紅色像素,其中原始圖像的相應像素在考慮到30%的「模糊因子」之後與顏色值「深綠色」不同(其中'0%'將意味着精確匹配顏色值);
- 輸出顯示白色/半透明像素,其中原始圖像的各個像素與顏色'深綠色'相似(在30%的模糊係數內)。
下面是結果在側方比較:
當然你也可以用模糊因數發揮以及與「深綠」的確切定義顏色值。下面是-fuzz 25%
結果:
如果你想比較,以顯示顏色逆(顯示紅色的像素在原始圖像已綠的顏色,透明/白色是把像素非綠色)中,使用「深綠色」的反轉顏色作爲比較補丁(這是某種粉紅色,順便說一句),和不同的模糊因數:
compare \
-size 600x600 \
-fuzz 70% \
http://i.stack.imgur.com/kqMtt.png \
xc:'#ff9bff' \
output-3.png
結果是現在:
如果你想輸出到不顯示原始圖像作爲淡的背景下,再加入-compose src
到您的命令(S):
compare \
-size 600x600 \
-fuzz 70% \
http://i.stack.imgur.com/kqMtt.png \
xc:'#ff9bff' \
-compose src \
output-4.png
你也可以將突出顯示「delta」像素的顏色改爲其他顏色。要使用黑色:
compare \
-highlight-color black \
-size 600x600 \
-fuzz 60% \
http://i.stack.imgur.com/kqMtt.png \
xc:'#ff9bff' \
-compose src \
output-5.png
您現在可以使用最後一條命令的結果作爲「掩碼」。將遮罩覆蓋到原始圖像上,並以使圖像在結果中僅顯示「僅樹」部分的方式進行組合,從而除去所有其他部分。
更復雜的方法傾向於使用生物量強烈放射的紅外通道 - 谷歌歸一化植被指數(歸一化差異植被指數),但遺憾的是,您沒有這些數據。另一個選項是紋理分析。 – 2014-12-06 12:49:03
@MarkSetchell:是否有免費在線提供的高質量紅外線地圖?然後,我可以將Google地圖全部棄用。 – 2014-12-06 15:24:29
谷歌地圖引擎支持樹過濾(我記得)。 – wf9a5m75 2014-12-09 07:56:01