gpt4 book ai didi

Opencv:cv2.findContours 修改已经绘制的图像?

转载 作者:行者123 更新时间:2023-12-02 17:13:47 32 4
gpt4 key购买 nike

我遇到了一个奇怪的行为,虽然我可以解决它,但我想知道这是为什么。

当我使用 cv2.findContours 时,它会修改原始图像,即使我没有将它传递给函数。这是一个可以找到图片的最小示例here .

import matplotlib.pyplot as plt
import cv2

img =cv2.imread('a.jpg',0)
a1=plt.subplot(121)
plt.imshow(img, cmap='Greys')

ret, thresh = cv2.threshold(img,57,255,cv2.THRESH_BINARY)

a1=plt.subplot(122)
plt.imshow(thresh, cmap='Greys')
plt.show()

temp=thresh
del thresh

contours, hierarchy = cv2.findContours(temp,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

当我用 cv2.findContours 注释掉该行时,它工作正常。这是为什么?

最佳答案

这是因为 tempthresh .
在 python 中,当你进行这样的分配时,你并没有处理对象,你只是在做一个新的引用。
看看copy模块来实现您的目标。

关于Opencv:cv2.findContours 修改已经绘制的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20567239/

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