def narrowImage(var, lvar, width, height): if var.width > 200: resizeImage(var, lvar, width, height) var.trImageShow.setPixmap(QPixmap(imageConvertion(var))) var.size.setText('(%d × %d)' % (var.width, var.height)) # 状态栏显示图像大小
def enlargeImage(var, lvar, width, height): if var.width < 800: resizeImage(var, lvar, width, height) var.trImageShow.setPixmap(QPixmap(imageConvertion(var))) # 重新显示在Label中 var.size.setText('(%d × %d)' % (var.width, var.height)) # 状态栏显示图像大小
def GaussianDenoising(var): var.GSFlag = True #第二的参数是高斯矩阵的大小,第三个参数是标准差,标准差取0时OpenCV会根据高斯矩阵的尺寸自己计算。概括地讲,高斯矩阵的尺寸越大,标准差越大,处理过的图像模糊程度越大。 # cv2.GaussianBlur(var.img, (var.GSKernel, var.GSKernel), 0) var.img = cv2.GaussianBlur(var.img, (19, 19), 0) var.imagePixmap = QPixmap.fromImage(imageConvertion(var)) ISM.openImageLayout(var, var.imagePixmap) # 显示结果
def drawRectByOpenCV(var, lvar): calculateRelativePosition(var, lvar) # 计算套索顶点相对位置 cv2.rectangle(var.img, (var.w0, var.h0), (var.w1, var.h1), (0, 255, 0), 1) # 在图像上画矩形 cv2.rectangle(var.img_mirror, (var.w0_m, var.h0_m), (var.w1_m, var.h1_m), (0, 255, 0), 1) # 在img_mirror图像上画矩形 cv2.imwrite(var.im_path, var.img_mirror) # 写入硬盘 var.imagePixmap = QPixmap.fromImage(imageConvertion(var)) ISM.openImageLayout(var, var.imagePixmap) # 显示结果
def settDLabelVisible(var): if var.tdImageShow.pixmap(): # 判断是否加载图片 if var.tdFlag: var.coImageShow.setVisible(False) var.saImageShow.setVisible(False) var.trImageShow.setVisible(False) var.tdImageShow.setPixmap(QPixmap(imageConvertion(var))) var.tdImageShow.setFixedSize(var.width, var.height) var.coFlag = False setToolDisable(var) # 放大、缩小工具不可用 else: restoreImageToDefault(var, var.tdImageShow) var.coImageShow.setVisible(True) var.saImageShow.setVisible(True) var.trImageShow.setVisible(True) var.tdFlag = True
def settrLabelVisible(var): if var.trImageShow.pixmap(): # 判断是否加载图片 if var.trFlag: var.coImageShow.setVisible(False) var.saImageShow.setVisible(False) var.tdImageShow.setVisible(False) var.trImageShow.setPixmap(QPixmap(imageConvertion(var))) # 重新显示图像 var.trImageShow.setFixedSize(var.width, var.height) # 设定大小 var.trFlag = False setToolDisable(var) # 放大、缩小工具不可用 else: # 由于双击改变图像大小后,再双击变回原来大小时,实际图像的大小已经改变,但是这里没有体现 restoreImageToDefault(var, var.trImageShow) var.coImageShow.setVisible(True) var.saImageShow.setVisible(True) var.tdImageShow.setVisible(True) var.trFlag = True