需要在qtdesigner中编写槽,并与具体的按钮等进行绑定
如何绑定可以见之前自己写的博客。
另外,事件具体做什么需要自己在py文件中编写。
自己的程序上需要有默认图片,自己的做法是定义一个全局变量path,先指定一张图片地址即可。
在pyqt中,不知道为什么在ui生成的py文件中编写显示图片就显示不出来,
之后在自己的主文件py中编写就可以显示。
在定义全局字典时,一直不起作用。
后来发现原因
如在外部自己定义了一个参数,名字为path,之后在具体的方法内又设置了一个参数path,同名,与c语言一样,它会将方法内部这个理解为局部变量。
解决方法:如果方法内与外部的全局变量一致,需要在方法内部的参数前加上global这个关键字。
解决办法:先把之前图片的路径保存下来,如果当前路径为空,就把之前的路径赋给当前这个path
只要在更改参数的槽里 最后添加上去雾算法即可。
同理,只要下拉列表的值变化,只要在相应的槽里添加上对应方法即可。
注意中文路径opencv_python读取图片,imread()会读取失败,使用下面方式读取中文路径图片。
img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), -1) # 读入完整图片,见下面解释
img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 0) # 读成灰度
img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 1) # 读成彩图
其中cv2.imdecode后面的flag -1应该是和cv2.imread一样的。
使用函数cv2.imread(filepath, flags)读入一幅图片:
filepath: 要读入图片的路径。
flags: 读入图片的标志:
cv2.IMREAD_UNCHANGED(-1): 顾名思义,读入完整图片,包括alpha通道。如果数据不含alpha通道则灰图读成(H, W),彩图读成(H, W, 3)。
cv2.IMREAD_GRAYSCALE(0): 读入灰度图片,形状为(H, W)。彩图也读成灰的形状。
cv2.IMREAD_COLOR(1): 默认参数, 读入一幅彩色图片,忽略alpha通道, 形状为(H, W, 3)。灰图也读成彩的形状。
有alpha通道的图片还没试验,不过看来读成-1比较稳妥。
①在打包之后的文件后加上image文件 放入自己需要的照片可以
②按照此博客打包也可以!!