2012-01-25 45 views
-2

如何編寫代碼以將公式應用於圖像,並對結果進行低通濾波。紅色區域是對應於條形碼的最高強度。應用公式確定條形碼 - Matlab

公式: Formula

原始圖像: Original

處理的圖像:Localization of Barcode

編輯如何繪製點??

編輯中繪製點:Plot the points

+0

問題是什麼? –

+0

如何編寫此代碼? – Kim

+2

不要粗魯,但如果你不知道如何在matlab中實現派生過濾器,你應該閱讀關於圖像處理的書籍(使用matlab)。從stackoverflow問題將這樣的基礎知識拼湊在一起肯定會是一個非常令人沮喪的體驗。 – Niki

回答

3

我傾向於nikie,你應該從一本書,如果你在這個基層合作達成一致,但在這裏是一個答案呢。

I = imread('your_image'); 
# convert I to grayscale double as appropriate using rgb2gray(), double(), etc. 

# calculate the gradients and the formula you provided 
[dIx, dIy] = gradient(I); 
B = abs(dIx) - abs(dIy); 

# do your low-pass filtering 
H = fspecial('gaussian', 20, 10); 
C = imfilter(B, H); 

imagesc(C); colorbar; 

祝你好運!確保您在製作副本之前瞭解此代碼。

+0

感謝您的代碼!我可以理解!只是我不知道該怎麼寫! – Kim

+0

我該如何編寫程序來讀取垂直和水平條形碼? – Kim

+0

那麼,退後一步,考慮你的公式。您正在拍攝水平漸變圖像(dIx)並減去垂直漸變圖像(dIy)。要找到垂直條形碼,您可以重複這兩個條件切換的過程。在角度查找條形碼將會涉及更多:)。 – aganders3