图像二值化

Belle 2002-09-19 08:14:59
谁有图象二值化的代码?
各种方法都可以(基于期望值阈值的,灰度直方图法,微分直方图法,非等同墒法,最小模糊度法……)
谢谢提供代码
...全文
552 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
fybird2000 2002-09-29
  • 打赏
  • 举报
回复
不好意思,我写得太马虎了,t就是T(x,y)
Belle 2002-09-29
  • 打赏
  • 举报
回复
衷心感谢大家热情支持,让我得以了解更多二值化及相关知识。可惜我水平有限,可给最大分太少了,未免显得有些小气,但也只能借此微薄的专家分略表心意。希望各大方之家有兴趣能继续讨论这个话题
Belle 2002-09-27
  • 打赏
  • 举报
回复
fybird2000(hierophant),感谢不厌烦的介绍了这么多,对你引见下,大家对niblack's method在此知道了一些,但是还有不明白的地方,能不能推荐点资料,谢谢
zz443 2002-09-26
  • 打赏
  • 举报
回复
to fybird2000
谢谢你的解说,简要明晰。
你用niblack's method处理的是什么图片?
有点不明白的想请教一下,“计算出t再对(x,y)进行切割255/0”,还是得取一个值进行分割?
zz443 2002-09-26
  • 打赏
  • 举报
回复
楼上,t如何确定?还是需要人干预?
fybird2000 2002-09-26
  • 打赏
  • 举报
回复
en,我说得不够详细。“计算出t再对(x,y)进行切割255/0”的意思是:
if (pixel(x,y)>t) pixel(x,y) = 255;
else pixel(x,y)=0;
fybird2000 2002-09-25
  • 打赏
  • 举报
回复
en,我就简单的说说niblack's method吧。原理:
T(x,y)=m(x,y) + k*s(x,y)
取一个宽度为w的矩形框,(x,y)为这个框的中心。统计框内数据,T(x,y)为阈值,m(x,y)为均值,s(x,y)为均方差,k为参数(推荐-2)计算出t再对(x,y)进行切割255/0。
这个算法的优点是 速度快,效果好。
在Trier, Jain的一篇论文中对相对11种的算法比较得出niblack和另外一个xx算法效果是最好的,不过niblack最快。
缺点是 niblack's method会产生一定的噪声。
根据不同的应用,适当的调整算法可以得到相当不错的结果。
对了,能不能给我发一下那个一维二维最大熵的算法?很想知道地说.
to eastsun
大哥,你说的是bersen's method吧.欧今天才发现以前看过。:p
bersen算法的速度也很快,不过效果可能比niblack稍差一点。你尝试了哪些综合性方法呢?我们讨论讨论?:)
eastsun 2002-09-24
  • 打赏
  • 举报
回复

二值化方法,我所知道的有如下几个:
1)矩不变二值化方法,这个方法对于局部图象,效果和鲁棒性都还可以。
2)固定先验阈值二值化。这个方法没有任何通用性。但不是不能用。
3)固定比例二值化,或者相对比例二值化,这个方法在一定的场合效果是很不错的。只是通用性也比较差。但通用性比第二个要好。
4)还有一种方法,叫不出名字来。在清华版的《数字图象处理》(ZHANGYUJIN)一书中有介绍。由于没有进行多次测试,效果不得而知。
5)一维最大熵,二维最大熵,类间方差方法没有实验过。
6)基于直方图分布的二值化,效果在特定颜色(指每个二值化针对一种大颜色)效果可以。鲁棒性也还可以。
7)基于彩色的二值化,如果对于特定问题,找好了多维阈值,效果是不错的。只是有些阈值比较飘忽,寻找起来比较困难。
8)基于BENSEN方法的二值化,对于字符类二值化,效果不错。但需要进一步处理伪影。
9)还有基于以上方法的综合性的二值化。好象只有BENSEN法可以与其他方法搭配而且鲁棒性不错,其他方法的搭配鲁棒性都显得不好。而BS方法本身就必须搭配。所以,如何找到综合性二值化方法,而且要其鲁棒性好。真的不是一件很容易的事情。可以共同探讨。
Belle 2002-09-24
  • 打赏
  • 举报
回复
zz443(留连) 你的方法我不太明白,能不能补充些,或者推荐点资料
欢迎大家给我发信
Email: xianggr@sina.com
zz443 2002-09-24
  • 打赏
  • 举报
回复
to Belle
我给你发了两篇文献,关于一维二维最大熵的,请查收。

to eastsun
我也不清楚bensen法,也能否给我发一份,谢了。zz443@etang.com
矩不变二值化方法是什么?听起来好象有些熟悉,却又不知所以。

to fybird2000(hierophant)
Ostu我用过拉,效果还不错。
说说看你那个niblack's method,我现在正寻找一种比较好的局部阈值算法,试过几种算法,Ostu和另外一种迭代阈值法比较效果比较好。
fybird2000 2002-09-24
  • 打赏
  • 举报
回复
请问bensen法的原理.....能给我一份资料么?xiangzhi@yeah.net

据我所知的使用灰度直方图进行阈值切割所得到效果最好的是:
全局阈值法 otsu 大津算法
局部阈值法 niblack's method速度快,效果好
zz443 2002-09-23
  • 打赏
  • 举报
回复
一维最大熵,二维最大熵,类间方差都是比较好的经典自适应阈值获取的算法,只是通用性不是很好。类间方差相对好一些。不知道这里的大侠是否有别的算法,说来听听!
Belle 2002-09-23
  • 打赏
  • 举报
回复
发了帖子就过节,好些天没来看
还有这么多热心的朋友关心这个问题
不知道大家节日过得可好

关于二值化的方法,我收集过几篇论文,都是中国期刊网上的,外文的我偷懒没检索,我知道的二值化的知识也仅此。我希望和大家一起探讨二值化的问题,毕竟它是“应用最为广泛的图像分割技术”。

编码也是一件很头疼的事,如果对已有的算法而且有人实现,劳驾给我一份,谢谢
什么语言的都可以,最好是vc的
xiaogui111 2002-09-23
  • 打赏
  • 举报
回复
就是
谁有自适应域值获取的算法
我想跟他讨论一下
zz443 2002-09-22
  • 打赏
  • 举报
回复
我用的vc。

二值化,阈值选取的算法最为关键。关于自动阈值的获取,有那些算法,倒是想跟大家讨论讨论。
zzwu 2002-09-22
  • 打赏
  • 举报
回复
你要什么语言的源码? 我有的用delphi编的二值化源码.
bendou16 2002-09-20
  • 打赏
  • 举报
回复
怎么发呀?
cris919 2002-09-20
  • 打赏
  • 举报
回复
这些天我的计算机不能上网
不然给你发一个
二值化就是设一个阈值
大于此阈值的设为255
小于则设为0
对彩色图象类似
lonk 2002-09-20
  • 打赏
  • 举报
回复
看是使用于什么图象了,一般用自适应的就可以了,
具体来说,就是将图象分割成N*N大小的块,对于每一个块,计算其
灰度平均值,然后在该块内,如果象素值大于灰度平均值,就变成黑色,
反之变成白色。
用灰度直方图的话,先求出灰度值,然后求灰度的谷,也就是哪个象素的
个数最小,那个作为谷,然后大于该象素的1,小雨该项素的0。

这些算法应该都是很简单的啦,只要你会读出图像中地灰度,其他就没什么问题了。
judxw 2002-09-20
  • 打赏
  • 举报
回复
自适应阈值法效果还不错!
加载更多回复(1)

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧