[已答复] matlab 玉米直径图像处理讨论

[复制链接]
翻水水zero 发表于 2021-5-16 20:58:09
给定一幅玉米植株图片(cim003.jpg),试设计适当的图像处理与分析算法,编程计算其中玉米棒的最大、最小和平均直径(像素单位)。请按统一要求写出算法原理、设计流程,并完成测试分析等报告内容。提示:玉米长度方向上中位处的直径尺寸可以用作整个玉米棒的直径

MATLAB语言编程不是很熟悉,求帮助

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

16 条回复


gywxd 发表于 2021-5-17 16:00:25
这个有难度,一方面是图片预处理,  玉米包叶 和玉米色差 亮度都比较接近不好处理,还有不少地方 玉米没有完全剥开,和包叶是交错的,加速玉米重叠的问题更加麻烦。 另外一个处理好图片 玉米不是垂直的,计算直径要涉及玉米垂直度的计算,才能用倾斜角计算准确直径,

翻水水zero 发表于 2021-5-17 16:27:48
gywxd 发表于 2021-5-17 16:00
这个有难度,一方面是图片预处理,  玉米包叶 和玉米色差 亮度都比较接近不好处理,还有不少地方 玉米没有 ...

现在是卡在处理玉米重叠的问题上,不知怎么将重叠的玉米分开提取

gywxd 发表于 2021-5-17 17:19:33
本帖最后由 gywxd 于 2021-5-17 17:20 编辑
翻水水zero 发表于 2021-5-17 16:27
现在是卡在处理玉米重叠的问题上,不知怎么将重叠的玉米分开提取

用宽度检测,进行分割 ,对每个处理后的单色图块进行宽度测试,超过一定宽度就认为是两个玉米,但是都会遇到特殊情况,如果两个玉米基本完全重叠,就无解,还有就是玉米杆 遮挡一半玉米的情况,都很难搞

翻水水zero 发表于 2021-5-17 18:33:06
gywxd 发表于 2021-5-17 17:19
用宽度检测,进行分割 ,对每个处理后的单色图块进行宽度测试,超过一定宽度就认为是两个玉米,但是都会遇 ...

有无代码可以参考下

gywxd 发表于 2021-5-17 18:35:50
你查每个联通块  的最大 x坐标  和最小x标 就可以了

翻水水zero 发表于 2021-5-17 22:24:43
gywxd 发表于 2021-5-17 18:35
你查每个联通块  的最大 x坐标  和最小x标 就可以了

是把图片分割后再提取吗

gywxd 发表于 2021-5-17 22:28:27
翻水水zero 发表于 2021-5-17 22:24
是把图片分割后再提取吗

把玉米 变成二值图 用连通域判断玉米与否就行了

翻水水zero 发表于 2021-5-19 09:42:36
gywxd 发表于 2021-5-17 16:00
这个有难度,一方面是图片预处理,  玉米包叶 和玉米色差 亮度都比较接近不好处理,还有不少地方 玉米没有 ...

请问玉米提出来以后要怎么算直径

gywxd 发表于 2021-5-19 10:47:56
翻水水zero 发表于 2021-5-19 09:42
请问玉米提出来以后要怎么算直径

不知道你的图提出是什么样, 一搬来说是黑白二值图, 一个玉米 就是图片矩阵上的一个块以  1  标注的矩阵区域, 可以计算这个区域的最大 最小  x y 值,这样就得到玉米的高宽, 然后用 最大最小y 值 计算中点,然后以
中值Y  找到 相应Y值轴 的 最大最小 x 值, 得到玉米直径,不过由于玉米不一定垂直, 直径应该偏大

翻水水zero 发表于 2021-5-19 16:17:52
gywxd 发表于 2021-5-19 10:47
不知道你的图提出是什么样, 一搬来说是黑白二值图, 一个玉米 就是图片矩阵上的一个块以  1  标注的矩阵 ...

对,就是黑白二值图那样提出,不过玉米都是向原图那样倾斜的

gywxd 发表于 2021-5-19 18:39:46
翻水水zero 发表于 2021-5-19 16:17
对,就是黑白二值图那样提出,不过玉米都是向原图那样倾斜的

哪就想办法找玉米倾斜度计算准确直径了

翻水水zero 发表于 2021-5-19 20:25:33
gywxd 发表于 2021-5-19 18:39
哪就想办法找玉米倾斜度计算准确直径了

能不能通过算中点到玉米区域最近的距离,再乘以2得到直径,这样来求

gywxd 发表于 2021-5-19 20:27:06
翻水水zero 发表于 2021-5-19 20:25
能不能通过算中点到玉米区域最近的距离,再乘以2得到直径,这样来求

这个可以,不过运算量巨大,好像也不大,矩阵进行运算也很快

翻水水zero 发表于 2021-5-20 22:10:15
gywxd 发表于 2021-5-19 20:27
这个可以,不过运算量巨大,好像也不大,矩阵进行运算也很快

请教下中点到区域边界的最短距离代码咋写,我没啥头绪

gywxd 发表于 2021-5-28 07:23:57
本帖最后由 gywxd 于 2021-5-28 08:18 编辑

https://zhuanlan.zhihu.com/p/76974326

这个能完美解决你的问题,懒得搬砖了
文中最后 两个函数就是各自角度 倾斜情况下的 矩形框生成

lyqmath 发表于 2021-5-28 14:26:05
先颜色分割定位目标区域

再二值化分割,做连通域属性分析
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表