如何每调用一次函数就显示一张图片?

import cv2 as cv

def br(image,c,b):
    h, w, ch = image.shape
    blank = np.zeros([h, w, ch], image.dtype)
    dst = cv.addWeighted(image, c, blank, 1-c, b)
    cv.imshow('br', dst)

sr3 = cv.imread('H:/ocv/opencv/sources/samples/data/lena.jpg')
cv.namedWindow('image3', cv.WINDOW_AUTOSIZE)
cv.imshow('image3', sr3)
br(sr3, 1, 0)
br(sr3, 1, 100)
br(sr3, 1, -100)

cv.waitKey(0)
cv.destroyAllWindows()

这里br函数调用了三次,我想显示三张图片,但是结果只显示了最后一次调用的结果,我自己判断的原因是每次调用的结果是显示在同一个命名的窗口上,所以后一次覆盖了前一次的,所以我想知道如何改一下代码,可以独立或者一次显示三张结果图片

你既然找到了原因,那就起不同窗口名就行,效果如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~

img

import cv2 as cv
import numpy as np

index=1
def br(image,c,b):
    global index
    h, w, ch = image.shape
    blank = np.zeros([h, w, ch], image.dtype)
    dst = cv.addWeighted(image, c, blank, 1-c, b)
    winname='br'+str(index)
    cv.imshow(winname,dst)#另外其一个名称
    cv.moveWindow(winname,index*200,100)
    index+=1
sr3 = cv.imread(r'C:\Users\showbo\Desktop\edge.jpg')
cv.namedWindow('image3', cv.WINDOW_AUTOSIZE)
cv.imshow('image3', sr3)
br(sr3, 1, 0)
br(sr3, 1, 100)
br(sr3, 1, -100)
cv.waitKey(0)
cv.destroyAllWindows()