怎么用matlab读出已知的 10

已知二值图像上有一条白色的线,黑色背景,请问怎么用matlab编程,读出组成白色的线的所有点的坐标?最好有程序。感激不尽!!!... 已知二值图像上有一条白色的线,黑色背景,请问怎么用matlab编程,读出组成白色的线的所有点的坐标?最好有程序。感激不尽!!! 展开
 我来答
百度网友f62bc15
2016-08-25 · TA获得超过1295个赞
知道小有建树答主
回答量:558
采纳率:66%
帮助的人:155万
展开全部

这个比较简单,比如说我的这个图(你可以把我的这个图右键另存为a.jpg):

然后是我的代码:

clc;clear
I=imread('a.jpg');
I=rgb2gray(I);
p1=I>=180;p2=I<180;%二值化不是255就是0
I(p1)=0;I(p2)=255;
imshow(I)
[M,N]=size(I);
xmin=0;xmax=pi;%x的最大值最小值(实际的)
ymin=0;ymax=1; %y的最大值最小值(实际的)
[idx,idy]=find(I==255);
idx=M-idx+1;
idy=N-idy+1;
x=(xmax-xmin)/(max(idy)-min(idy))*(idy-min(idy))+xmin;
y=(ymax-ymin)/(max(idx)-min(idx))*(idx-min(idx))+ymin;
figure(2)
plot(x,y,'r.')

这是a.jpg二值化之后的图

最后画出来的图是

这幅图很明显是y=sin(x)的函数图像,就这样x y坐标可以提取出来了,你知道了吗?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式