我有一个简单的灰色热图,如
重的地方怎么办?我是一个新来处理图像。_, thresholded = cv2.threshold(gray_image, thresh, 255, cv2.THRESH_BINARY)
无论我设置什么阈值,它仍然覆盖阈值中的几乎每一个彩色像素。
在那之后,我想我可能错误地理解了‘cv2. threshold‘,所以我尝试了_, thresholded = cv2.threshold(gray_image, 0, tresh, cv2.THRESH_BINARY)
,然后我什么也没有得到。
1条答案
按热度按时间quhf5bfb1#
cv2.threshold
不适用于白色背景,我们可以反转极性来创建黑色背景。我们可以使用
thresh = 254
,并得到白色的输出。更有用的解决方案是在使用
cv2.threshold
之前反转极性(反转白色)。假设
gray_image
的dtype
是np.uint8
,那么白色等于255
,黑色等于0
。反转极性:
inv_gray_image = 255 - gray_image
的数据。代码示例:
字符串
thresholded
:的数据
为了找到面积,我们可以使用
cv2.findContours
,并找到最大轮廓的边界矩形。范例:
型
输出量:
的