MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 112|回复: 5|关注: 0

[已答复] 如何设计程序分别提取中线两端的5个像素点坐标

[复制链接]

新手

5 麦片

财富积分


050


2

主题

4

帖子

0

最佳答案
发表于 2017-11-14 22:18:35 | 显示全部楼层 |阅读模式
提取染色体中线后,用曲线拟合的方法将中线两端延长,需要在两端各提取5个像素的坐标,如何设计程序分别提取中线两端的5个点坐标?刚学的小白一个求指教
两端缺失中线.jpg

新手

10 麦片

财富积分


050


2

主题

16

帖子

0

最佳答案
发表于 2017-11-15 10:30:24 | 显示全部楼层
先变成二值图im2bw,然后用bwlabel和regionprops提取出来中线(这个是通过连通域),对中线的像素矩阵选取PixelList中列值前5个与后5个就行了

新手

37 麦片

财富积分


050


27

主题

413

帖子

6

最佳答案
  • 关注者: 4
发表于 2017-11-15 13:09:33 | 显示全部楼层
联通区域中的中线是你自己得到的,还是输入的二值图像就是那样?若是前者,不知你是如何求得中线的。
此外,若你的输入二值图是一个封闭的曲线或区域的话,你完全可以求骨架(可直接调用函数)的方法得到中线

新手

5 麦片

财富积分


050


2

主题

4

帖子

0

最佳答案
 楼主| 发表于 2017-11-15 15:50:23 | 显示全部楼层
alexyau 发表于 2017-11-15 13:09
联通区域中的中线是你自己得到的,还是输入的二值图像就是那样?若是前者,不知你是如何求得中线的。
此外 ...

连通的区域是我提取的二值化图像的轮廓,中间的线条是我用bwmorph的‘’thin细化得到的骨架,之后将提取的轮廓和细化的中线合并到一幅图中,现在要做的是将中线两端延长与轮廓相交,我决定在细化骨架两端各取5个点作曲线拟合来延长骨架,现在不知道如何显示骨架点的坐标

处理后的染色体

处理后的染色体

bwmorph用‘thin’提取中线

bwmorph用‘thin’提取中线

轮廓

轮廓

轮廓和中线合并

轮廓和中线合并

新手

37 麦片

财富积分


050


27

主题

413

帖子

6

最佳答案
  • 关注者: 4
发表于 2017-11-15 17:05:14 | 显示全部楼层
本帖最后由 alexyau 于 2017-11-15 17:10 编辑
枭枭有恃无恐 发表于 2017-11-15 15:50
连通的区域是我提取的二值化图像的轮廓,中间的线条是我用bwmorph的‘’thin细化得到的骨架,之后将提取 ...

“现在不知道如何显示骨架点的坐标”,这个有什么难的,在你得到了中线后,其实就是二值图像,你可以用find函数找到值为1的像素点坐标。

我用thin得到的中线还有分支的,你是不是进一步处理后得到的?此外,为何这几张图片的尺寸(像素大小)都不一样的啊?

新手

5 麦片

财富积分


050


2

主题

4

帖子

0

最佳答案
 楼主| 发表于 2017-11-15 17:19:07 | 显示全部楼层
alexyau 发表于 2017-11-15 17:05
“现在不知道如何显示骨架点的坐标”,这个有什么难的,在你得到了中线后,其实就是二值图像,你可以用fin ...

我这是经过形态学闭运算处理之后的,如果仅仅二值化之后就细化也会出现很多分支,因为本来就不熟悉matlab,所以就没有选择直接对分支进行处理的方案。另外上面上传的图是我截的图...
刚入的新人一个,matlab的函数还没看完,所以有很多不了解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表