用MATLAB求一张图片上的圆的圆点和半径,我已经做好边缘检测了,要具体的程序,急,谢谢拉
I=imread('yuan','bmp');I1=rgb2gray(I);level=graythresh(I1);I2=im2bw(I1,level);I3=~I2;...
I=imread('yuan','bmp');
I1=rgb2gray(I);
level=graythresh(I1);
I2=im2bw(I1,level);
I3=~I2;
I4=bwareaopen(I3,50);
I5=~I4;
figure,imshow(I5)
BW3=edge(I5,'log');
figure,imshow(BW3),title('用拉普拉斯高斯算子')
边缘检测做好了 接下来应该怎么做,用在圆上取三点的方法做,不知道应该如何去坐标的, 展开
I1=rgb2gray(I);
level=graythresh(I1);
I2=im2bw(I1,level);
I3=~I2;
I4=bwareaopen(I3,50);
I5=~I4;
figure,imshow(I5)
BW3=edge(I5,'log');
figure,imshow(BW3),title('用拉普拉斯高斯算子')
边缘检测做好了 接下来应该怎么做,用在圆上取三点的方法做,不知道应该如何去坐标的, 展开
1个回答
展开全部
找出最左最右的两个点,距离除以二就是半径啊,圆心就是这两个点连线的中点
更多追问追答
追问
有没有具体的程序 还有就是取点不是在坐标系中吗?怎么把坐标系搞上去 求具体程序啊
追答
[x y] = find(BW3);
这样得到的x y就分别是BW3里面,白色部分的横、纵坐标。
xmin = min(x);
找出最左边一个点的横坐标
xmax = max(x);
找出最右边一个点的横坐标
r = (xmax - xmin) / 2
就是半径
x0 = (xmax + xmin) / 2
就是圆心的横坐标,同理
y0 = (min(y) + max(y)) / 2
是圆心的纵坐标。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
东莞大凡
2024-11-19 广告
2024-11-19 广告
作为东莞市大凡光学科技有限公司的工作人员,对于halcon标定板有所了解。Halcon标定板是高精度相机标定的关键工具,通常采用实心圆点或方格作为标志点。我们公司提供的halcon标定板,具有高精度、稳定可靠的特点,适用于机器视觉领域的各种...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询