数字图像处理100问—03二值化(Thresholding)

数字图像处理100问—03二值化(Thresholding),第1张

提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen
CV小白从0开始学数字图像处理

03二值化(Thresholding)

把图像进行二值化,二值化是将图像使用黑和白两种值表示的方法。二值化图像就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出非黑即白的过程。 在数字图像处理中,二值化的图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,减少计算量,从而能凸显出目标的轮廓。这里我们将灰度的阈值设置为 128 来进行二值化,即:

代码如下:

1.引入库

CV2计算机视觉

import cv2
import numpy as np
2.读入数据
img = cv2.imread("imori.jpg").astype(np.float)
b = img[:, :, 0].copy()
g = img[:, :, 1].copy()
r = img[:, :, 2].copy()
3.灰度化
out = 0.2126 * r + 0.7152 * g + 0.0722 * b
out = out.astype(np.uint8)
4.二值化

th = 128
out[out < th] = 0
out[out >= th] = 255

5.保存结果
cv2.imwrite("out.jpg", out)
cv2.imshow("result", out)
cv2.waitKey(0)
cv2.destroyAllWindows()
6. 二值化后结果

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/736338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存