Python OpenCV drawContours是';储蓄
我有一个RGBA图像,我想为其绘制轮廓,并与绘制的轮廓一起保存。 我有以下代码:Python OpenCV drawContours是';储蓄,python,opencv,Python,Opencv,我有一个RGBA图像,我想为其绘制轮廓,并与绘制的轮廓一起保存。 我有以下代码: skin = cv.imread("-path-", cv.IMREAD_UNCHANGED) _, mask = cv.threshold(skin[:, :, 3], 0, 255, cv.THRESH_BINARY) contours, hierarchy = cv.findContours(mask, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE) largest_cont
skin = cv.imread("-path-", cv.IMREAD_UNCHANGED)
_, mask = cv.threshold(skin[:, :, 3], 0, 255, cv.THRESH_BINARY)
contours, hierarchy = cv.findContours(mask, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
largest_contour = max(contours, key=cv.contourArea)
skin = cv.drawContours(skin, [largest_contour], 0, (0, 255, 0), 3)
如果我使用
cv.imshow("-title-", skin)
我可以看到轮廓,但如果我看到:
cv.imwrite("-path-", skin)
将保存原始图像
如何保存绘制了轮廓的图像
它与原始图像的透明度有关,在OpenCV中轮廓是,您有cv2.imwrite()函数 存储将轮廓转换为变量的图像 比方说
new_skin = drawContours(skin,[largest_contour], 0, (0, 255, 0), 3) # store in new variable
cv2.imwrite("newskin.png",new_skin) # save to file
尝试将图像保存到本地。这是轮廓的透明度,我不知道为什么,但在发布后它在我身上闪闪发光 解决方案是添加以下行:
skin[:, :, 3] = cv.drawContours(skin[:, :, 3].astype(np.uint8), [largest_contour], 0, (255), 3)