2014-05-24 82 views
1

我試圖檢測圖像中的矩形,我知道這可能與OpenCv,但我正在考慮使用ImageMagick。
問題是,ImageMagick可以做到嗎?我期待在ImageMagick中找到來自OpenCV的等效findContours函數,但我找不到一個?用imagemagick檢測輪廓

enter image description here

回答

0

這裏是一個沒有完全強大的版本,實現了我所需要的simply connected regions。它扮演的是這樣一個事實,即對於等高線區域沒有孔,並且沒有區域與座標0,0接觸。兩者都不太可能在我的應用程序中,所以我可以利用這些事實來確定背景。我也可以利用這一點我事先知道我的等值線的顏色是什麼,我已經與#ContourColor

convert inputImage.jpg -fill black   +opaque #ContourColor 
         -fill blue   -draw "color 0,0 floodfill" 
         -fill #ContourColor -opaque black 
         -fill white   -opaque #ContourColor 
         -fill black   -opaque blue 
         outputImage.jpg 

表明這裏的每一步的細分...

  1. 填寫一切不ContourColor爲黑色
  2. 填充背景爲藍色,假設沒有簡單地連接物體接觸左上像素0,0
  3. 填充全黑的內飾ContourColor填補輪廓
  4. 更換ContourColor白建立前景
  5. 更換藍色背景爲黑色,以建立背景

這將是非常有用的ImageMagick實現相同的輪廓功能OpenCV的,但我在和你一樣的船隻,我只是在尋找一個簡單的工具來梳理出一些我手中正在繪製的區域,並希望在某些圖像處理迴歸測試中使用。我不想編寫一個完整的應用程序來進行這些分段比較,並希望能夠通過編寫一些ImageMagick魔術腳本來獲得!

0

由於輪廓和文本的粗細,此圖像的輪廓將爲雙線。例如,要獲得綠色框的輪廓(輪廓),使用

convert HetI7.jpg -fuzz 20% -fill white +opaque green1 -morphology edgeout diamond:1 -negate green_outline.png 

enter image description here

但是,也許你只是想綠框,而不是它的輪廓。

convert HetI7.jpg -fuzz 40% -fill white +opaque green1 green_region.png 

enter image description here