显示图像中宽度最小的区域

时间:2014-06-22 10:04:40

标签: image matlab image-processing feature-extraction

你好!

我正在关注一篇论文,以实施 从航拍图像中自动提取道路

正在遵循的方法是找到参考圆和中心像素。

我发现使用区域最大值的中心像素现在我要使用参考圆的半径找到最小宽度的区域,这是中心像素的简单距离。

以下是我的matlab代码,直到现在

I=imread('road_3.jpg');
imshow(I)
I_gray=rgb2gray(I);
I_gray=imresize(I_gray,[500 500]);
I_edge=edge(I_gray,'canny');
I_dist=bwdist(I_edge); %this will give me distance transform image 
I_cp=imregionalmax(I_dist); %this will give me central pixels
c=sum(sum(I_cp)); %counting total number of central pixels
for i=1:500
for j=1:500
if(I_cp(i,j)==1)
count=count+1;
x_cp(count)=i; %saving X index of Central pixel
y_cp(count)=j; %saving Y index of Central pixel
end
end
end
for i=1:c
radius_cp(x_cp(i),y_cp(i))=I_dist(x_cp(i),y_cp(i)); % saving radius of each central pixel as it is its distance.
end
AllRadius=radius_cp(radius_cp>0); %it is for our convenience so, minimum or maximum or any radius could be fetched

现在,我们有灰度图像,边缘图像,距离变换图像,中心像素图像。

我想找到:

1。使用半径的最小宽度的区域。

2。绘制参考圆圈。

这里有一个示例图片: enter image description here

可以查看更多示例here

希望我的问题得到澄清,而且不会含糊不清。

向前看+ +响应。

谢谢。

方面:

Syed Meesum Ali。

0 个答案:

没有答案