按值二进制化像素

时间:2015-09-03 14:06:05

标签: python opencv

我想按值对灰度图像进行二值化,因此a和b之间的像素将为0,否则为255。我试过0,但这并没有产生正确的效果。所以我试过了:

cv2.threshold

但这种方式是低性能,正确的方法是什么,使用直方图均衡化?

2 个答案:

答案 0 :(得分:2)

查看inRange功能。

您可以执行以下操作:

binary = cv2.inRange(gray_image, d, u)

然后您可能需要反转二进制图像:

binary_inv = cv2.bitwise_not(binary)

答案 1 :(得分:0)

首先,您需要确保您的图片采用opencv的允许数据格式然后您应该使用threshold函数或inRange函数来创建二进制图像/矩阵满足您的需求。使用threshold功能,您需要应用两次,因为您有一个范围,但这并不太复杂。这个here上有一篇非常好的博客文章。