从“免费抠图”到“自由抠图”:摆脱束缚,实现抠图无限制
midjourney的图有时是四张一起的,有时需要其中一张,并将他的背景去除,但是碰到的问题是有些去背景的在线软件是收费的,如何免费实现以上功能呢?
思路:使用去背景的软件去背景,得到较小的图片(免费),将图片上传到放大网站去实现双倍放大,然后下载即可得到去背的放大图。
具体步骤:
1、编译并运行D:\spiderdocs\wxPythonSample.py
实现四等分切图。
代码如下:
import tkinter as tk
from tkinter import filedialog
from PIL import Image
class ImageSplitter:
def __init__(self, master):
self.master = master
self.master.title("Image Splitter")
self.image = None
self.image_paths = None
self.image_size = None
self.file_path_label = tk.Label(self.master, text="No file selected")
self.file_path_label.pack()
self.select_button = tk.Button(self.master, text="Select Image", command=self.select_image)
self.select_button.pack()
self.split_button = tk.Button(self.master, text="Split Image", command=self.split_image, state=tk.DISABLED)
self.split_button.pack()
def select_image(self):
self.image_paths = filedialog.askopenfilenames(filetypes=[("Images", "*.jpg;*.jpeg;*.png;*.bmp")])
if self.image_paths:
self.file_path_label.config(text="\n".join(self.image_paths))
self.image = Image.open(self.image_paths[0])
self.image_size = self.image.size
self.split_button.config(state=tk.NORMAL)
def split_image(self):
width, height = self.image_size
new_width = int(width / 2)
new_height = int(height / 2)
# Crop and save the four images
for i in range(4):
x = (i % 2) * new_width
y = (i // 2) * new_height
cropped_image = self.image.crop((x, y, x + new_width, y + new_height))
cropped_image.save(f"image_{i + 1}.png")
self.file_path_label.config(text="Image split into 4 parts!")
root = tk.Tk()
app = ImageSplitter(root)
root.mainloop()
具体可以参考早些时候的博客:切割您的图片:将您的照片切割成四个完美的部分!
2、Upload Image – remove.bg 是一个在线的人像抠图工具网站。用户可以将包含人物的照片上传至该网站,自动识别人物并将其从背景中抠出,生成透明背景的人物照片。这个网站使用了人工智能技术进行图像分割,相对于传统的人工抠图,可以提高效率并节省时间。
3、上传图像以放大|Upscale.media
是一个在线的图像放大工具网站。用户可以将需要放大的图像上传至该网站,选择所需的放大倍数,然后进行放大处理,生成高分辨率的图像。这个网站使用了深度学习技术进行图像放大,相对于传统的图像插值算法,可以提供更高的图像质量和更自然的细节。该网站的服务需要付费,但提供了免费的试用版,用户可以免费体验其图像放大的效果。
4、效果如下所示: