0
所以我有一個已經用sobel方法處理過的圖像,現在我需要提取該圖像。使用emgu cv掃描圖像
我的問題是我如何開始掃描圖像從中線uo和逐行逐行,並且當邊數少於60時,記錄該座標以裁剪圖像。
有問題的圖像是條形碼,並且此方法只適用於僅提取條形圖。問題是用emgu cv實現。
更新:
我下面本文介紹的方法:http://bit.ly/HUWdcy
這個問題指涉到C.圖像提取章
所以我有一個已經用sobel方法處理過的圖像,現在我需要提取該圖像。使用emgu cv掃描圖像
我的問題是我如何開始掃描圖像從中線uo和逐行逐行,並且當邊數少於60時,記錄該座標以裁剪圖像。
有問題的圖像是條形碼,並且此方法只適用於僅提取條形圖。問題是用emgu cv實現。
更新:
我下面本文介紹的方法:http://bit.ly/HUWdcy
這個問題指涉到C.圖像提取章
檢查cv::threshold
和cv::reduce
功能。
首先創建一個二進制映射出你的邊緣圖像,條紋上有黑色,背景上有白色。
喜歡這個小例如:閾
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
可以使用
第二功能爲 「項目」 其維度之一的圖像,使用CV_MAX
後邊緣
1 70 0 0 85 128 99 0
1 70 0 0 85 128 99 0
1 70 0 0 85 128 99 0
1 70 0 0 85 120 99 0
1 74 0 0 85 138 99 0
1 80 0 0 85 128 99 0
1 72 0 0 85 128 99 0
後,或者CV_SUM
或CV_AVG
,並且您將條碼存儲在一行中
reduce
與
例子:
0 1785 0 0 1785 1785 1785 0
現在,重新申請一個門檻:
0 1 0 0 1 1 1 0
感謝您的回答,但我現在的問題是找到PF代碼中的邊緣,我也做了形象如上面的文章中所提到的那樣進行處理,然後將sobel算子應用於圖像。現在看代碼邊緣,我認爲我可以從圖像的中間上下移動,並檢查像素是否相等,對於我知道它們以101開頭和結尾的邊,但是在讀取像素時,我不會收到這樣的東西,只是很多0,然後1. – celsoap7 2012-04-05 00:58:59
和我看到你的答案,你已經考慮代碼,沒有背景,並使用減少方法把矩陣只在一個向量,我的問題是,我無法在我的項目中執行reduce方法,例如cvinvoke.cvreduce(...)和img.reduce(...)不起作用,我所提供的參數是錯誤的,如果您可以幫助會很好。 – celsoap7 2012-04-05 01:04:10
@ celsoap7我沒有時間沒有代碼欄的經驗來幫助你。我希望這是一個開始,我邀請你加深學習和嘗試。 – Sam 2012-04-05 05:31:12