2015-10-06 65 views
0

可以說我有這樣的如何基於黑暗區域/噪音裁剪圖像?

http://imgur.com/hbDd0rA

我希望能夠找出圖像中的暗區,然後裁剪圖像,使我得到一個新的矩形圖像沒有任何的圖像黑暗的地方(你在原始圖像的角落看到的)。

最終圖像必須是這個樣子

http://imgur.com/BdipOET

現在,這裏的挑戰是,暗區是不是所有的黑色像素,也不是所有的顏色相同。如果你得到了我想說的話,那就是黑暗的,稍暗的黑暗,稍暗的黑暗。

想知道這是否可能在C#中。

回答

0

ImageProcessor library有一個功能,稱爲EntropyCrop,可能是合適的。您可以撥弄threshold參數來調整結果。

如果不工作,你可以做這樣的事情:

  • 創建確定像素是否是黑暗中的功能或不
    (基於可調強度閾值)
  • 添加了所有非黑暗像素的矢量(座標)。
  • 將結果除以所述像素的數量。
    這給你光盤/對象的中心。

  • 如果事先知道對象的大小,只需裁剪一個以該點爲中心的合適大小的矩形。

  • 否則從一個非常小的居中裁剪矩形開始,並計算其中暗像素的百分比。
  • 逐漸放大矩形,直到百分比增長到可調閾值以上。
+0

我無法使用ImageProcessor庫,因爲我必須使用.net 3.5 :( – sidd

+0

)您可以從github獲得源代碼並嘗試在3.5上進行編譯 – 3dGrabber