OpenCV 图像阈值处理
阈值处理的基本概念是为了简化可视数据以进行分析。当我们将图像转换为灰度图像时,我们必须记住灰度图仍然有至少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)
输出:
以上程序高亮了图像。现在我们可以轻松阅读图像的内容。