2012-09-11 82 views
5

我基本上是用開源軟件處理條形碼。但是該工具有時無法檢測到任何條碼。在C#中檢測空白圖像(預期的圖像是一個條形碼)#

所以我想自己檢查圖像是否真的是空白的或者它包含某種條形碼。

我的圖像是通過掃描生成的,它們只包含條形碼(如果它們不是空白的)和掃描產生的一些噪聲圖像。所以我的問題甚至可能是檢查圖像是否包含大量濃縮的黑色像素,以便將其與帶有噪聲的空白圖像區分開來。

我檢查過this這個問題,但建議是使用「概率霍夫線變換」,我發現我的情況有點矯枉過正。

我也檢出了this但它有不安全的代碼。 我正在尋找託管的C#解決方案。

回答

0

鏈接到的第二個示例使用unsafe代碼僅用於加速訪問位圖中的像素值。您可以使用BitmapGetPixel()方法輕鬆替換所有這些方法(缺點是這樣會非常慢,但對於您的目的而言,它可能仍然足夠快)。

但是,就unsafe代碼而言,沒有理由擔心使用它。 unsafe標籤唯一的問題是某些用戶(取決於他們的權限級別)可能無法運行代碼,儘管我自己從來沒有真正遇到過這個潛在的問題。

+1

'GetPixel()'和'unsafe'指針算術代碼之間存在一箇中間值,那就是'Marshal'類。請參閱以下答案:http://stackoverflow.com/a/1563170/860585 – Rotem

0

您可以使用此C#庫OpenSURF並查看SURF特徵描述符向量的值。我不確定它是否「安全」