pyqt5 获取Qlabel中的图片并对其进行处理(包括Qimage转换为Mat)
生活随笔
收集整理的這篇文章主要介紹了
pyqt5 获取Qlabel中的图片并对其进行处理(包括Qimage转换为Mat)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、提取Qlabel中的圖片
qimg=self.showScreenImgLabel.pixmap().toImage()2、將Qimage轉(zhuǎn)換為mat
def qimage2mat(self,qimg):ptr = qimg.constBits()ptr.setsize(qimg.byteCount())mat = np.array(ptr).reshape(qimg.height(), qimg.width(), 4) # 注意這地方通道數(shù)一定要填4,否則出錯(cuò)return matdef slotMedianBl3、在將mat進(jìn)行其他處理之前,必須將mat 的BGR轉(zhuǎn)換為RGB。
全部代碼如下:
def qimage2mat(self,qimg):ptr = qimg.constBits()ptr.setsize(qimg.byteCount())mat = np.array(ptr).reshape(qimg.height(), qimg.width(), 4) # 注意這地方通道數(shù)一定要填4,否則出錯(cuò)return matdef slotMedianBlurAction(self):print("中值濾波")qimg=self.showScreenImgLabel.pixmap().toImage() #獲取Qlabel圖片mat_img_temp=self.qimage2mat(qimg) #將Qimage轉(zhuǎn)換為mat類型mat_img=cv2.cvtColor(mat_img_temp, cv2.COLOR_BGR2RGB)#在對(duì)圖像處理前 先轉(zhuǎn)換為RGB類型 切記img_median = cv2.medianBlur(mat_img, 5)gqimg=QImage(img_median.data, img_median.shape[1], img_median.shape[0],img_median.shape[1] * 3,QImage.Format_RGB888).scaled(self.showProcessImgLabel.width(),self.showProcessImgLabel.height())self.showProcessImgLabel.setPixmap(QPixmap.fromImage(gqimg))?
總結(jié)
以上是生活随笔為你收集整理的pyqt5 获取Qlabel中的图片并对其进行处理(包括Qimage转换为Mat)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。