Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python cv2 treshold在第二个图像上无法正常工作_Python_Cv2_Image Thresholding - Fatal编程技术网

Python cv2 treshold在第二个图像上无法正常工作

Python cv2 treshold在第二个图像上无法正常工作,python,cv2,image-thresholding,Python,Cv2,Image Thresholding,我是python新手,我一直在玩背景减法来可视化更改前后图像中的更改 我使用cv2库编写了一个简短的脚本: #!/usr/bin/env python import cv2 as cv import numpy as np from matplotlib import pyplot as plt #GRAYSCALE ONLY FOR TESTING #Test with person appearing in image img1 = cv.imread("images/1.jpg",

我是python新手,我一直在玩背景减法来可视化更改前后图像中的更改

我使用cv2库编写了一个简短的脚本:

#!/usr/bin/env python

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt


#GRAYSCALE ONLY FOR TESTING
#Test with person appearing in image
img1 = cv.imread("images/1.jpg", 0)
img2 = cv.imread("images/2.jpg", 0)
img3 = cv.subtract(img1, img2)
ret,thresh1 = cv.threshold(img3,90,255,cv.THRESH_BINARY)


#Test with satelite image of japan landslide changes after earthquake 
jl_before = cv.imread("images/japan_earthquake_before.jpg",0)
jl_after = cv.imread("images/japan_earthquake_after.jpg",0)
jl_subtraction = cv.subtract(jl_before, jl_after)
ret,thresh2 = cv.threshold(img3,20,255,cv.THRESH_BINARY)

images = [img1, img2, thresh1, jl_before, jl_after, thresh2]
titles = ["Image1", "Image2", "Changes", "Japan_Before", "Japan_After", "Japan_Changes" ]
for i in range(6):
    plt.subplot(2,3,i+1),plt.imshow(images[i],'gray')
    plt.title(titles[i])
    plt.xticks([]),plt.yticks([])
plt.show()
结果如下所示:

为什么在第二组图像的遮罩中出现第一组图像变化的遮罩

我使用了不同的变量,thresh1和thresh2


非常感谢您的帮助,因为我似乎找不到问题所在。

因为您在复制粘贴时错过了更改:

ret,thresh2 = cv.threshold(img3,20,255,cv.THRESH_BINARY)
                           ^^^^

哇!非常感谢:D我会尽快接受你的答复