2017-07-13 112 views
0

新手在這裏!我正在嘗試在圖像上應用濾鏡,並且希望在兩個窗口中顯示原始圖像和濾鏡圖像。我遇到的問題是,原始圖像(img_1)也會被過濾,即使我僅將修改後的通道應用於img_2。我知道如果在合併img_2的頻道之前觸發了img_1的imshow,那就沒問題了。即使將過濾器應用於img_2,我仍然對爲什麼img_1被更改感到困惑。變量賦值 - OpenCV/Python

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() 

回答

0

它們引用的是與您所寫的相同的圖像img_2 = img_1。 您可以通過此方式複製圖片以獲得所需的輸出:img_2 = img_1.copy()