2011-05-14 34 views
0

我使用比較A畫圓函數與圖像中Matlab的

rectangle ('position', [0, 0, 50, 50], 'curvature', [1, 1]) 

繪製圖像上的圓。圓比圖像小,我需要將圖像的每個可能位置乘以cirkel值(邊緣上的像素值應爲1,其他位置爲零,二進制圓圈)。這是一種模板匹配,但不是使用模板來計算相關性,而是使用循環函數,因此加載數千個模板會更快。

任何想法如何我可以使圓函數具有二進制值,並乘以圖像的部分?

我希望我的提法是不夠

回答

0

好,如果你使用的是圓形的過濾器,那麼你不想它,你呢?你想要的是一個1和0的矩陣,並將其乘以圖像的每個50x50矩形部分。爲了得到矩陣,

d = 50; 
F = false(d,d); 
[X Y] = meshgrid(size(F)) - d/2; 
F(round(hypot(X,Y)) == d/2) = true; 

實際上沒有運行這個代碼,但是這樣的事情應該工作。 imagesc(F)會告訴你它的樣子。然後你需要將你的圖像放入一個矩陣中,然後逐個切片。