gpt4 book ai didi

opencv - 如何将 pyplot.contour(..) 转换为等效的 opencv?

转载 作者:行者123 更新时间:2023-12-05 07:32:39 30 4
gpt4 key购买 nike

我有这样一张图片:(original.png)

original image

人体检测结果如下:(detection.png)

detected heatmap

并使用打击代码:

import numpy
import cv2
import matplotlib.pyplot as plt
import numpy as np

original = cv2.imread('original.png')
detections = cv2.imread('detection.png')
fig = plt.figure(figsize=[12,12])
plt.imshow( original[:,:,::-1] )
plt.contour( detections[:,:,1]/256.,10, linewidths = 1 )
plt.contour( detections[:,:,2]/256.,10, linewidths = 1 )
plt.axis('off') ;
plt.show()

将生成这样的图像: with contours我试图将其转换为:

plt.contour( detections[:,:,1]/256.,10, linewidths = 1 )

相当于 opencv:

_, contours, _ = cv2.findContours(detections,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

各种组合

retrieve mode + approximation method

但是没有一个给出预期的结果,那么如何解决这个问题呢?

最佳答案

OpenCv findcontours 需要黑白图像。

尝试:

_, thresh = cv2.threshold(detections[:,:,1], 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)

_, contours, _ = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

关于opencv - 如何将 pyplot.contour(..) 转换为等效的 opencv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51073947/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com