阈值的基本概念是更加简化可视数据以进行分析。将图像转换为灰度时, 必须记住, 灰度仍然至少有255个值。阈值将根据阈值将所有内容转换为白色或黑色。假设我们希望阈值是125(255个中), 那么125以下的所有内容将被转换为0或黑色, 而125之上的所有内容将被转换为255或白色。语法如下:
retval, threshold = cv2.threshold(src, thresh, maxValue, cv2.THRESH_BINARY_INV)
参数-
src:源图像, 应该是灰度图像。
thresh:用于对像素值进行分类。
maxVal:代表像素阈值时要给出的值。
OpenCV提供了不同样式的阈值, 这些阈值用作函数的第四个参数。这些是以下内容:
- cv2.THRESH_BINARY
- cv2.THRESH_BINARY_INV
- cv2.THRESH_TRUNC
- cv2.THRESH_TOZERO
- cv2.THRESH_TOZERO_INV
让我们来一个样本输入图像
我们以上面的图像作为输入。我们描述阈值实际上是如何工作的。上面的图像有些暗淡, 有点难以阅读。有些部分足够轻便可以阅读, 而另一些部分则需要更多的焦点才能正确阅读。
让我们考虑以下示例:
import cv2
img = cv2.imread(r'C:\Users\DEVANSH SHARMA\book1.jpg', 1)
retval, threshold = cv2.threshold(img, 62, 255, cv2.THRESH_BINARY)
cv2.imshow("Original Image", img)
cv2.imshow("Threshold", threshold)
cv2.waitKey(0)
输出
上面的程序突出显示了图像。现在我们可以轻松读取图像的内容。