如何使用matlab提取图像伦廓的坐标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用matlab提取图像伦廓的坐标相关的知识,希望对你有一定的参考价值。

参考技术A 对图片边缘点的提取 F=imread('butterfly.jpg'); F1=~im2bw(F);
F2=bwfill(F1,'holes'); SE=ones(3)
F3=imdilate(F2,SE); F4=bwperim(F2); figure,imshow(F4);
imwrite(F4,' butterfly2.jpg '); 对边缘点的坐标化 a=imread('picture.bmp'); b=rgb2gray(a);
c=edge(b);
imshow(double(c)); c
[x,y]=find(c)
plot(y,x,'k.')

在matlab中,怎么把图片中的图像轮廓坐标找出来?

要二值图像才行
格式:B = bwboundaries(BW,conn)(基本格式)

作用:获取二值图中对象的轮廓。B是一个P×1的cell数组,P为对象个数,每个cell是Q×2的矩阵,对应于对象轮廓像素的坐标。Q内每一行表示连通体的边界像素的位置坐标(第一列是纵坐标Y,第二列是横坐标X),Q为边界像素的个数。追问

我现在能够找到轮廓,可是不会把这个轮廓的坐标输出来,还请指教。我不会编程,还请说细一点,谢谢。

参考技术A B = bwboundaries(BW,conn);

A=ind2sub(B*(B==255));

程序解析:
1、第一条指令,首先将图像变成一维的;
2、其次:依次取出每个像素判断是不是255(白色)找出是255的 那一段来;
3、然后确定255那段的 中心。用ind2sub()函数肯定能精确定位的。
参考技术B simple(S),采用多种方法化简多项式,包括simplify,expand、factor、combine、radsimp、convert、collect

采用radsimp结果就是x

估计程序问题
>> syms x
>> s=x^(2)^(1/2);
>> simple(s)

simplify:
csgn(x)*x

radsimp:
x

combine(trig):
(x^2)^(1/2)

factor:
(x^2)^(1/2)

expand:
(x^2)^(1/2)

combine:
(x^2)^(1/2)

convert(exp):
(x^2)^(1/2)

convert(sincos):
(x^2)^(1/2)

convert(tan):
(x^2)^(1/2)

collect(x):
(x^2)^(1/2)

mwcos2sin:
(x^2)^(1/2)

ans =
x

以上是关于如何使用matlab提取图像伦廓的坐标的主要内容,如果未能解决你的问题,请参考以下文章

怎样用matlab从一张图片中截取一小张图片

关于用matlab处理图像的问题,如何将下进行边缘提取,得到比较清晰的轮廓,最好是能寻找到偏心孔的坐标

matlab 中提取矩阵中已知坐标的值

OpenCV-Python系列八:提取图像轮廓

如何利用matlab导入并提取jpg彩色图像像素点的坐标及其RGB值?想要完整的编码。谢谢哈。

在matlab中,怎么把图片中的图像轮廓坐标找出来?