python图像处理(二值化)
Posted 嵌入式-老费
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python图像处理(二值化)相关的知识,希望对你有一定的参考价值。
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
边缘检测之后,一般需要对图像进行二值化处理。简单地说,所谓的二值化,就是小于阈值的像素点全部设置为0,也就是黑色点;大于阈值的点,全部设置为255,也就是白色,逻辑还是比较简单的。大家也许会说,为什么要做这个操作?主要还是为了对相似的像素点进行归类使用,让相同属性的像素点靠在一起。
我们不妨挑一个像素值120作为阈值,看看二值化后的lena图像是什么样子的,
如图所示,做了二值化后的lena,只有白色和黑色两种像素点。除了一些噪声点之外,大部分临近的点都被组合到了一起,这样比较有利于后期的分割处理。
1、二值化算法
单看二值化算法,还是比较简单的。本身就是对所有的像素点遍历下,小于某一个阈值,设置为0;大于某一个阈值,设置为255。代码如下所示,
\'\'\'
binary image
\'\'\'
def generate_binary_image(picture, threshold):
for i in range(picture.shape[0]):
for j in range(picture.shape[1]):
以上是关于python图像处理(二值化)的主要内容,如果未能解决你的问题,请参考以下文章
Python使用openCV把原始彩色图像转化为灰度图使用OpenCV把图像二值化(仅仅包含黑色和白色的简化版本)基于自适应阈值预处理(adaptive thresholding)方法