Use Python to create a visual GUI interface and replace the background color of your ID photo with one click

王林
Release: 2023-05-19 16:19:07
forward
1426 people have browsed it

用 Python 制作可视化 GUI 界面,一键实现证件照背景颜色的替换

The general appearance of the interface is actually not much different from the previous one. Everyone should have read the previous article.

The general appearance of the interface

The overall GUI interface is as shown below:

用 Python 制作可视化 GUI 界面,一键实现证件照背景颜色的替换

Users can choose to add their ID photos when using Replace it with "white background" or "red background", then after the front-end interface completes uploading the photo, the back-end program will start to perform the required operations.

Remove the background color

First we need to remove the background color of the photo. The third-party interface removebg is used here. The official link is:

用 Python 制作可视化 GUI 界面,一键实现证件照背景颜色的替换

After we complete the account registration, visit the following link to obtain the api_key: https://www.remove.bg/api#remove-background

用 Python 制作可视化 GUI 界面,一键实现证件照背景颜色的替换

The following is the corresponding program code, as follows:

def remove_bg(self):
 api_keys = "自己注册的api_key"
 rmbg = RemoveBg(api_keys, "error.log")
 rmbg.remove_background_from_img_file(imgNamepath)
Copy after login

Add the color we want

After completing the removal of the background color of the ID photo, we then add The background color we want can be used. For example, if we want to add a "red" background color, the code is as follows:

no_bg_image = Image.open(in_path)
x, y = no_bg_image.size
new_image = Image.new('RGBA', no_bg_image.size, color="red")
new_image.paste(no_bg_image, (0, 0, x, y), no_bg_image)
new_image.save(output_path)
Copy after login

This time the control we use to display pictures in the GUI interface is the graphicsView component. After we click the "Select Image" button and upload the image, we need to display the image in the graphicsView window. The code is as follows:

def openImage(self):
 global imgNamepath# 这里为了方便别的地方引用图片路径,将其设置为全局变量
 imgNamepath, imgType = QFileDialog.getOpenFileName(self.ui, "选择图片", "D:\", "*.png;;*.jpg;;All Files(*)")
 # 通过文件路径获取图片文件,并设置图片长宽为label控件的长、宽
 img = QtGui.QPixmap(imgNamepath).scaled(self.ui.graphicsView.size(), aspectMode=Qt.KeepAspectRatioByExpanding)
 print("img: ", img.width(), img.height())
 self.ui.graphicsView.setFixedSize(img.width(), img.height())
 # 在label控件上显示选择的图片
 item = QGraphicsPixmapItem(img)
 scene = QGraphicsScene()
 scene.addItem(item)
 self.ui.graphicsView.setScene(scene)
 self.ui.graphicsView.repaint()
 # 显示所选图片的路径
 self.ui.lineEdit.setText(imgNamepath)
Copy after login

Finally let's take a look at the overall effect

用 Python 制作可视化 GUI 界面,一键实现证件照背景颜色的替换

The above is the detailed content of Use Python to create a visual GUI interface and replace the background color of your ID photo with one click. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:51cto.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template