图片旋转拼接
本帖最后由 zjg121 于 2024-3-31 21:06 编辑打包成exe的源文件。
https://static.52pojie.cn/static/image/hrline/4.gif
成品出来啦!名称是《拼接地板砖》。见下图:
下载链接:https://wwi.lanzoup.com/iBdJA1t99fwb
https://static.52pojie.cn/static/image/hrline/4.gif
功能增强:可操作一张图,也可以操作一个文件夹中的所有图。1路径不能有中文,2图片正方形最好。
from PIL import Image
import cv2
import os
def process_image(image_path):
# 读取图片
image = cv2.imread(image_path)
if image is None:
print(f"Error: Could not read image at {image_path}")
return None
# 这里放置您的图片处理代码
# 加载原图
original_image = Image.open(image_path)# 替换为你的图片路径
# 获取原图的尺寸
width, height = original_image.size
# 计算新图的尺寸(2倍宽2倍高)
new_width = 2 * width
new_height = 2 * height
# 创建一个新的空白图像,大小和原图的两倍一样大
new_image = Image.new('RGB', (new_width, new_height))
# 将原图粘贴到新图的左上角
new_image.paste(original_image, (0, 0))
# 旋转原图90度并粘贴到新图的右上角
rotated_90 = original_image.rotate(-90)
new_image.paste(rotated_90, (width, 0))
# 旋转原图180度并粘贴到新图的右下角
rotated_180 = original_image.rotate(180)
new_image.paste(rotated_180, (width, height))
# 旋转原图270度并粘贴到新图的左下角
rotated_270 = original_image.rotate(-270)
new_image.paste(rotated_270, (0, height))
# 保存新图
new_image.save(image_path + '.png')# 替换为你想要保存新图的路径
print(f"Processed image saved to {image_path + '.png'}")
def process_images_in_folder(folder_path):
# 确保路径存在
if not os.path.isdir(folder_path):
print(f"Error: {folder_path} is not a valid directory.")
return
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
# 检查文件是否为图片(这里假设图片是jpg格式,您可以根据需要添加更多格式)
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.tiff')):
file_path = os.path.join(folder_path, filename)
process_image(file_path)
# 示例:处理文件夹中的所有图片
process_images_in_folder('d:/a')
# 示例:处理单个图片
# process_image('d:/a/12.png')
https://static.52pojie.cn/static/image/hrline/line9.png
一张原图(d:/a/input.png),绕右下角旋转,生成新的大图(d:/a/output.png)。
from PIL import Image
# 加载原图
original_image = Image.open('d:/a/input.png')# 替换为你的图片路径
# 获取原图的尺寸
width, height = original_image.size
# 计算新图的尺寸(2倍宽2倍高)
new_width = 2 * width
new_height = 2 * height
# 创建一个新的空白图像,大小和原图的两倍一样大
new_image = Image.new('RGB', (new_width, new_height))
# 将原图粘贴到新图的左上角
new_image.paste(original_image, (0, 0))
# 旋转原图90度并粘贴到新图的右上角
rotated_90 = original_image.rotate(90)
new_image.paste(rotated_90, (width, 0))
# 旋转原图180度并粘贴到新图的右下角
rotated_180 = original_image.rotate(180)
new_image.paste(rotated_180, (width, height))
# 旋转原图270度并粘贴到新图的左下角
rotated_270 = original_image.rotate(270)
new_image.paste(rotated_270, (0, height))
# 保存新图
new_image.save('d:/a/output.png')# 替换为你想要保存新图的路径
非常感谢楼主开发的工具,试用了下,发现图片文件名不能有中文,并且图片所在路径文件夹也不能有中文。
要是能再加个分割线(边距)就更好了 楼主要想在优化可以参考这个,在加个边线,间距
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1790427 地砖拼花? 还是喜欢成品,谢谢分享 期待作者的成品 我以为是成品的软件。 whglaowang888 发表于 2024-3-31 00:53
地砖拼花?
名称好。谢谢啦!做了一个exe文件。 laixingcui 发表于 2024-3-31 09:26
我以为是成品的软件。
慢慢来,慢慢来。成品新鲜出炉。拼接地板砖.exe songfc666 发表于 2024-3-31 08:57
期待作者的成品
大家的期待,是我进步的动力。成品新鲜出炉!
页:
[1]
2