今天本来想实现的是ui粗略是这个样子的:
就是当我上传图像时,是这个样子:
然后当我点击舌体分割的时候,第二个label可以用第一个label的图像数据,但是我发现Qtlabel中没有类似getPixmap()的方法,于是我就直接用了img=self.label.pixmap(),如果我直接在下面用self.label.setPixmap(img) 其实是可以输出的,但是我现在因为舌体分割要用到我的神经网络算法,所以在我调用之后我发现就不行了,百度了白天也没有整明白:于是有了下面比较笨的代码(其实一开始我就该想到的 ,没想到愣是研究了好几个小时,主要还是对python不熟练):
def openimage(self):
imgName,imgType = QFileDialog.getOpenFileName(self,"打开图片", "img", "*.jpg;*.tif;*.png;;All Files(*)")
if imgName == "":
return 0
jpg = QPixmap(imgName).scaled(self.uesr_tongue.width(),self.uesr_tongue.height())
jpg.save('./loadbutton_image/user_load.jpg')
self.uesr_tongue.setPixmap(jpg)
def seg_oput(self):
img = Image.open('./loadbutton_image/user_load.jpg')
plt.imshow(img) # 显示图片
plt.axis('off') # 不显示坐标轴
plt.show()
unet = Unet()
r_image = unet.detect_image(img)
r_image.save('./img/jieguo.jpg')
self.segoutput.setPixmap(QPixmap('./img/jieguo.jpg').scaled(self.segoutput.width(),self.segoutput.height()))
#seg_jieguo =
#self.segoutput.setPixmap(img) #这一句代码有问题
print("预测结束")
上面openimage是上传舌象的button事件,获取图像之后就保存,到时候我直接用路径获取就行。
方法总比困难多!慢慢来。