如何在OpenCV中不填充地绘制等值线

ds97pgxw  于 2022-12-27  发布在  其他
关注(0)|答案(2)|浏览(178)

尝试从图像中提取数字,但我有0,8等问题,因为封闭的部分。
使用cv.drawContours(black_img, [contour_num], -1, (255, 255, 255), thickness=cv.FILLED)
它显然也填充了轮廓的内部。我如何防止这种情况?我如何只画出数字的“外部”部分?谢谢
drawn contourorig image

jw5wzhpr

jw5wzhpr1#

要在OpenCV中绘制轮廓而不填充它,可以使用cv2.drawContours()函数,并传入要绘制的轮廓的contour和索引,以及所需的轮廓的colorthickness。还可以将filled参数设置为False以禁用填充。
以下示例说明如何使用cv2.drawContours()绘制单个轮廓而不填充:

cv2.drawContours(image, contours, 0, (0, 255, 0), 2, cv2.LINE_AA, hierarchy=None, maxLevel=1, offset=(0, 0), filled=False)
cqoc49vn

cqoc49vn2#

cv.drawContours(black_img, [contour_num], -1, (255, 255, 255), thickness=cv.FILLED)

cv.FILLED等于-1,是绘制填充轮廓的原因。
您应该指定一个大于零的值,如thickness=1thickness=2等。

相关问题