关于二值化的问题!高手请进!在线等

时间:2021-07-06 19:21:14
现有一副图像 上边分布着一排排的黑点和白点 
想把黑点变黑 白点变白。
但有一个问题是 如:左上角的黑点有可能和右下角的白点一样黑
但是如果分片二值的话 有可能正好这个区域内所有的点是白点或黑点 这样结果就错。
问:那位高手能给出解决方案,答者有分!

21 个解决方案

#1


>>想把黑点变黑 白点变白。
黑点还用变黑,白点还用变白呀?
没看明白

用局部域值化

#2


小于阀值置成黑色,呵呵 你们将就的看!
就那么个意思
局域的话请见我上边的第四句话!

#3


不知道你要对什么进行分割,估计没有什么好的算法
如果Niblack之类的算法能无能为力,除非人工指定啦

#4


既然是二值化,只有两种结果,不是黑就是白,定义好域值然后逐个转化就是了,还管什么两个点一样黑?最多是你先把所有的点统计一下,计算出总体亮度来取域值。

#5


同意cnzdgs的说法。最多你写一个函数,把一个点周围的邻近点都包含进去考虑就可以了。

#6


同意cnzdgs

#7


统计出直方图,取处于峰谷的值的作为阈值。

#8


先找到黑、白点的位置,然后直接改正象素颜色SETPIXEL或者保存图象。
找到黑、白点的位置(看来只能一个一个找):图象有黑、白点(圆),应该有另外颜色的背景。找黑、白点要对比背景颜色,亮度。

#9


确定阈值,查一下灰度的公式

#10


将图象分区后不能实现?

将图象分区后每个区都找一个合适的阈值(这个应该比较好找,如果找到的阈值不对说明楼主分的区的大小不正确应重新考虑)

#11


我想LZ是意思是:假如我们图象的两个角上,每个角上两个点,第一个角上的两点的灰度分别是234和128,第二角上的两个点的灰度是125和63,那第一个角点应当把234那个点变白,128点变黑,第二个角点应当把125那个点变白,63点变黑,对吧,这样的话,那全副图象就不能用一个threshold了

#12


ls的真绝,确实是这样的,如果单用二值化得不出结果,那给出一个流程也成,如果需要看下我的图片是啥样子,可以把你们的邮箱写下 我给你们发!

#13


还有就是分区取阀值 如果是对原图我想应该是不可以的,如果分区后 有一个区都是白点的话,取阀值就取错了!

#14


给我发一份吧hbu_laoma@yahoo.com.cn

我这儿有N种二值化算法,正好对比一下效果

#15


引用 12 楼 Feng0_0zi 的回复:
ls的真绝,确实是这样的,如果单用二值化得不出结果,那给出一个流程也成,如果需要看下我的图片是啥样子,可以把你们的邮箱写下 我给你们发!


阈值的作用只有一个:那就是“白”的更白,“黑”的更黑!至于LZ说的这种要求属于应用层面的东西,不要与底层混淆在一起了。如何运用阈值来达到程序设计或应用的要求,要视具体的应用环境而定,而这部分控制逻辑也不要与底层混淆在一起,单列出来。

对于LZ的问题,总体说来就是带有逻辑控制的阈值处理。具体的实现还需要更多的应用信息才能确定。

#16


是滴 要实现我的要求可能要经过许多的预处理,没搞过这个,各位不要见笑!可能出现的问题,我在帖子里边说过!需要大家能给出一个思路,该先进行那些步骤!

#17


要做的工作太多了,一直没忙过来,现在比较着急的活干的差不多了,回过头来搞二值化!
听说有个什么大津法的比较不错!试试去

#18


感谢你热心的帮助!你的图像处理结果我已经收到!

#19


求Beresen算法Nibalck算法

#20


写错了 Niblack  Bernsen 算法!

#21


感谢各位 不过我到目前没有找到合适的方法!我也不想搞这个了 帖子结了

#1


>>想把黑点变黑 白点变白。
黑点还用变黑,白点还用变白呀?
没看明白

用局部域值化

#2


小于阀值置成黑色,呵呵 你们将就的看!
就那么个意思
局域的话请见我上边的第四句话!

#3


不知道你要对什么进行分割,估计没有什么好的算法
如果Niblack之类的算法能无能为力,除非人工指定啦

#4


既然是二值化,只有两种结果,不是黑就是白,定义好域值然后逐个转化就是了,还管什么两个点一样黑?最多是你先把所有的点统计一下,计算出总体亮度来取域值。

#5


同意cnzdgs的说法。最多你写一个函数,把一个点周围的邻近点都包含进去考虑就可以了。

#6


同意cnzdgs

#7


统计出直方图,取处于峰谷的值的作为阈值。

#8


先找到黑、白点的位置,然后直接改正象素颜色SETPIXEL或者保存图象。
找到黑、白点的位置(看来只能一个一个找):图象有黑、白点(圆),应该有另外颜色的背景。找黑、白点要对比背景颜色,亮度。

#9


确定阈值,查一下灰度的公式

#10


将图象分区后不能实现?

将图象分区后每个区都找一个合适的阈值(这个应该比较好找,如果找到的阈值不对说明楼主分的区的大小不正确应重新考虑)

#11


我想LZ是意思是:假如我们图象的两个角上,每个角上两个点,第一个角上的两点的灰度分别是234和128,第二角上的两个点的灰度是125和63,那第一个角点应当把234那个点变白,128点变黑,第二个角点应当把125那个点变白,63点变黑,对吧,这样的话,那全副图象就不能用一个threshold了

#12


ls的真绝,确实是这样的,如果单用二值化得不出结果,那给出一个流程也成,如果需要看下我的图片是啥样子,可以把你们的邮箱写下 我给你们发!

#13


还有就是分区取阀值 如果是对原图我想应该是不可以的,如果分区后 有一个区都是白点的话,取阀值就取错了!

#14


给我发一份吧hbu_laoma@yahoo.com.cn

我这儿有N种二值化算法,正好对比一下效果

#15


引用 12 楼 Feng0_0zi 的回复:
ls的真绝,确实是这样的,如果单用二值化得不出结果,那给出一个流程也成,如果需要看下我的图片是啥样子,可以把你们的邮箱写下 我给你们发!


阈值的作用只有一个:那就是“白”的更白,“黑”的更黑!至于LZ说的这种要求属于应用层面的东西,不要与底层混淆在一起了。如何运用阈值来达到程序设计或应用的要求,要视具体的应用环境而定,而这部分控制逻辑也不要与底层混淆在一起,单列出来。

对于LZ的问题,总体说来就是带有逻辑控制的阈值处理。具体的实现还需要更多的应用信息才能确定。

#16


是滴 要实现我的要求可能要经过许多的预处理,没搞过这个,各位不要见笑!可能出现的问题,我在帖子里边说过!需要大家能给出一个思路,该先进行那些步骤!

#17


要做的工作太多了,一直没忙过来,现在比较着急的活干的差不多了,回过头来搞二值化!
听说有个什么大津法的比较不错!试试去

#18


感谢你热心的帮助!你的图像处理结果我已经收到!

#19


求Beresen算法Nibalck算法

#20


写错了 Niblack  Bernsen 算法!

#21


感谢各位 不过我到目前没有找到合适的方法!我也不想搞这个了 帖子结了