变量赋值 - OpenCV / Python

时间:2017-07-13 22:16:04

标签: python-3.x opencv opencv3.0

新手在这里!我试图在图像上应用滤镜,我想在两个窗口中显示原始和过滤的图像。我对结果的问题是,即使我仅将修改后的频道应用于img_2,原始图像(img_1)也会被过滤。我知道如果在合并img_2的频道之前触发img_1 imsh_1,那就没关系了。我仍然感到困惑的是,即使过滤器应用于img_2,为什么img_1会被更改。

import cv2
img_1 = cv2.imread('C:/xxxx')
img_2 = img_1

b,g,r = cv2.split(img_2)

cv2.addWeighted(b, 0.5, g, 0.5, 0, b) 
cv2.merge((b,b,r), img_2)

cv2.imshow('Original', img_1)
cv2.imshow('Filtered with RC', img_2)
cv2.waitKey()
cv2.destroyAllWindows()

1 个答案:

答案 0 :(得分:0)

他们引用与您编写img_2 = img_1相同的图像。 您可以通过这种方式复制图像以获得所需的输出:img_2 = img_1.copy()