声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1199|回复: 6

[图像处理] 边缘提取不完整如何解决

[复制链接]
发表于 2007-11-6 08:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
123.jpg

我用普通的edge()提取出来的图像有两条边缘没有被提取出来,如图上红色粗线标注出来的。
想请问怎么解决呢。
我的代码:

f=imread('pdf417.jpg');
f=rgb2gray(f);
[g1, t]=edge(f,'roberts', [],'both');
[g2, t]=edge(f,'sobel', 'both');
[g3, t]=edge(f,'prewitt',[],'both');
g4 = edge(f,'log');
g5 = edge(f,'canny');
gg=g1+g2+g3+g4+g5;
imshow(gg);

谢谢指教啊!

[ 本帖最后由 eight 于 2007-11-6 09:27 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-11-6 08:56 | 显示全部楼层
不可能有哪种函数提取的很完整,该进方法似乎都是针对某种特殊的情形。想想你边上的2条线为什么提取不出来?然后找些资料,看看别人都是怎么解决的
 楼主| 发表于 2007-11-6 08:57 | 显示全部楼层
我就是用普通的edge()来提取的,那哪位大哥知道是哪里出了问题不?
发表于 2007-11-6 09:29 | 显示全部楼层

每种算子都有它的适用范围,你求边缘用 edge 没错,却用了5种算子,然后把结果相加,效果可想而知。建议认真了解每种算子的特点,然后从中选择一种适合你的
 楼主| 发表于 2007-11-6 09:42 | 显示全部楼层
我分别用各种方法都试了一次,但是每一种方法都不能检测出那两条线,大哥大姐,到底该怎么办呀~~:'( :'(
 楼主| 发表于 2007-11-6 12:59 | 显示全部楼层
我尝试用了所有的算子,并且改变参数也没有用,就是的不出中间的两条垂直线,应该怎么办啊?
发表于 2007-11-6 14:49 | 显示全部楼层
原帖由 duzhijun1983 于 2007-11-6 12:59 发表
我尝试用了所有的算子,并且改变参数也没有用,就是的不出中间的两条垂直线,应该怎么办啊?

根据你的图像特点,自己写一个吧,边缘提取这种问题不会太难的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-18 15:36 , Processed in 0.079794 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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