資源簡介
Matlab的hough圓檢測-soble_hough.m
先用sobel算子對圖像進行預處理,提取邊緣。對于不連續的圓,在利用hough算法檢測圓心坐標和半徑,再將圓進行重畫,得到完整的圓并顯示。
4.jpg 待處理圖片 ? ?
sobel邊緣提取后:
sobel.jpg
圓沒有完全閉合。
hough檢測并重畫圓:
sobel_hough.jpg
先用sobel算子對圖像進行預處理,提取邊緣。對于不連續的圓,在利用hough算法檢測圓心坐標和半徑,再將圓進行重畫,得到完整的圓并顯示。
4.jpg 待處理圖片 ? ?
sobel邊緣提取后:
sobel.jpg
圓沒有完全閉合。
hough檢測并重畫圓:
sobel_hough.jpg
代碼片段和文件信息
a=imread(‘1.jpg‘);
b=rgb2gray(a);
in=edge(b‘sobel‘);
[hw]=size(in);
if?w>h??g=floor(h/2);
else?g=floor(w/2);
end
B=zeros(ghw);%創建一個三維數組
%具體算法
?for?j=1:w????
????for?i=1:h????????
????????if?in(ij)==1
????????????for?aa=1:w
????????????????for?bb=1:h
????????????????????rr=floor(sqrt((j-aa)^2+(i-bb)^2));???????????????????????????????????
????????????????????if?rr ????????????????????end
????????????????end???????
????
評論
共有 條評論