使用Python制作可视化GUI界面,一键实现多种风格图片处理上传照片后,后台脚本接收照片,使用对抗生成神经网络生成动漫风格头像。今天,小编想在上述成果的基础上,增加“修复老照片”的功能。引来了抖音上大量的流量。内容是发布一张修复后的老照片。毕竟老照片很容易引起人们的共鸣,很多人甚至通过修复老照片来找回失散多年的亲人。照片修复的具体操作接下来我们在完成的UI界面上再添加几个按钮,如下图,分别是“动漫风格”、“老照片修复”和“素描风格”。当我们点击“动漫风格”时,程序会按照前面的步骤将上传的图片变成动漫风格的头像。当我们点击“修复旧照片”时,就会对上传的照片进行修复。对应的代码是一个项目Github上名为DeOldify,在Github上获得了15.2K的小star,可谓人气爆棚。作者为我们提供了多语言版本的接口,通过调用该接口,我们可以快速使用项目的能力给老照片上色,代码如下rb'),},headers={'api-key':'.......'})output_url=r.json()["output_url"]同时我们还需要保存图片本地,代码如下defdeoldify_action(self):r=requests.post("https://api.deepai.org/api/colorizer",files={'image':open(imgNamepath,'rb'),},headers={'api-key':'fe26be2a-b66e-4cfc-8f4d-514f683e9812'})output_url=r.json()["output_url"]##在本地保存图片response=requests.get(output_url,stream=True)image_name("splitNamepath=img.")[0]try:withopen(image_name+'_oldified.png','wb')作为logFile:对于响应中的块:logfile.write(块)logfile.close()print(“下载完成!”)例外为e:print(“下载logrorror!”)image_name=imgnamepath.split(".")[0]imgShow=QtGui.QPixmap(image_name+'_oldified'+".png").scaled(self.ui.label_5.size(),aspectMode=Qt.KeepAspectRatio)##将被转换照片显示在界面上self.ui.label_5.setFixedSize(imgShow.width(),imgShow.height())self.ui.label_5.setScaledContents(True)self.ui.label_5.setPixmap(imgShow)print(f"imagesaved:{image_name}")最终效果如下图所示。素描照片风格的具体操作当我们点击“素描风格”单选按钮时,我们会开始将上传的图片变成素描风格。代码如下defstartAction_sumiao(self):img=cv2.imread(imgNamepath)gray_image=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)inverted_gray_image=255-gray_imageblurred_inverted_gray_image=cv2.GaussianBlur(inverted_gray_image,(19,19),0)image_name=imgNamepath.split(".")[0]inverted_blurred_image=255-blurred_inverted_gray_imagesketck=cv2.divide(gray_image,inverted_blurred_image,scale=256.0)##图像保存在本地iao+'cv2.imwrite'cv2.imwrite'##在界面上显示转换后的照片imgShow=QtGui.QPixmap(image_name+'_sumiao'+".png").scaled(self.ui.label_5.size(),aspectMode=Qt.KeepAspectRatio)self.ui.label_5.setFixedSize(imgShow.width(),imgShow.height())self.ui.label_5.setScaledContents(True)self.ui.label_5.setPixmap(imgShow)下面看一下具体效果,如图下图以上就是本次分享的全部内容。觉得文章还不错的话,请关注公众号:Python编程学习圈,每日干货分享,发送“J”还能收到海量学习资料,涵盖Python电子书和教程,数据库编程、Django、爬虫、云计算等或者去编程学习网了解更多编程技术知识。
