图像二值化与边缘检测技术详解
1. 图像二值化技术
图像二值化是一种从图像中提取突出特征的有用图像处理技术。简单阈值处理中,我们需任意选择一个全局阈值,但很难确定合适的阈值,可能要多次尝试才能找到正确值,而且对一张图像适用的阈值,对其他像素强度特征不同的图像可能并不适用。
Otsu 方法则能从图像直方图中确定一个最优的全局阈值。直方图可看作像素值的频率分布。要进行 Otsu 二值化,可在 cv2.threshold() 函数中传入 cv2.THRESH_OTSU 作为额外标志。例如,传入 cv2.THRESH_BINARY + cv2.THRESH_OTSU 来表示使用 Otsu 方法,此时阈值可传入任意值(如 0),算法会自动计算阈值并作为输出之一返回。
以下是使用 Otsu 二值化方法的代码示例:
import cv2
import numpy as np
# Load an image
image = cv2.imread("images/scanned_doc.png")
# convert the image to grayscale
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("Original Grayscale Receipt", image)
# Binarize the image using thresholding
(T, binarizedImage) = cv2.threshold(image, 0, 25
超级会员免费看
订阅专栏 解锁全文
1358

被折叠的 条评论
为什么被折叠?



