图像锐化和边缘检测是什么关系,可以先后操作吗?我想获取清晰的边缘
2条回答 默认 最新
关注
不知道你这个问题是否已经解决, 如果还没有解决的话:- 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/762833
- 你也可以参考下这篇文章:数字图像处理实验一 实现一个在视频叠加字幕的程序。鼠标点击屏幕,关闭或打开字幕
- 除此之外, 这篇博客: 基于过侵蚀的柑橘图像识别中的 步骤效果及注意事项 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
-
原始图像
-
颜色筛选
先用以下函数将原始图片由BGR空间转换YCrCb空间
Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2YCrCb);
再提取Cr分量,对分量调用Ostu阈值分割,注意这里得到的是目标区域的二值图,将其作为掩模与原图进行与运算即可提取出目标区域。
Imgproc.threshold(img_cr, dst, 0, 255, Imgproc.THRESH_OTSU);
3. 中值模糊这里需要进行一次滤波是为了减少过多噪音Canny边缘检测的影响。
在均值滤波、中值滤波、高斯滤波中采取不会丢失重叠边缘的中值滤波。
4. Canny边缘检测跟阈值分割一样,以检测到的边缘图片做掩模加深原图边缘。
5. 过侵蚀
6. 开运算
7. 灰度化、二值化先灰度化将三通道转为单通道,再根据灰度值二值化。
8. 凸包填充识别过程不需要进行闭运算进行空洞填充,因为在保留边缘的条件下可直接识别凸包进行填充,注意填充凸包后要重绘凸包边界,防止边缘连接,否则就会如下图:
正确示范:
9. 椭圆拟合主要调用以下两个函数:
Imgproc.findContours(dst, contours, hierarchy, Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE, new Point(0, 0));
Imgproc.fitEllipse(dst); //调用此函数前要判断轮廓点超过5个,否则会报错
这里面积较小的柑橘未识别出来,是因为我将面积小于最大连通区域1/5的连通区域当成噪音去除了。
10. 结果图像
-
- 您还可以看一下 张传波老师的软件设计是怎样炼成的?课程中的 整个程序需要考虑的设计规范小节, 巩固相关知识点
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于将inet引入的相关问题
- ¥15 关于一个倒计时的操作和显示设计
- ¥15 提问STK的问题,哪位航天领域的同学会啊
- ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
- ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
- ¥15 关于#java#的问题,请各位专家解答!
- ¥15 如何卸载arcgis 10.1 data reviewer for desktop
- ¥15 共享文件夹会话中为什么会有WORKGROUP
- ¥15 关于#python#的问题:使用ATL02数据解算光子脚点的坐标(操作系统-windows)
- ¥115 关于#python#的问题:未加密前两个软件都可以打开,加密后只有A软件可打开,B软件可以打开但读取不了数据