Initial commit

This commit is contained in:
Le Ma
2024-12-03 11:34:51 +13:00
commit b44d0668f7
1381 changed files with 3384 additions and 0 deletions

43
split06.py Normal file
View File

@@ -0,0 +1,43 @@
import cv2
import numpy as np
import os
# 读取输入图像
image = cv2.imread('input.jpg')
# 获取图像的尺寸
height, width = image.shape[:2]
# 创建一个全黑的掩码
mask = np.zeros((height, width), dtype=np.uint8)
# 定义曲线(例如,使用正弦函数)
x = np.arange(width)
# 调整曲线的频率和幅度
frequency = 2 * np.pi / width
amplitude = height / 4
y = (height / 2) + amplitude * np.sin(frequency * x)
# 绘制曲线以上的区域为白色
for i in range(width):
cv2.line(mask, (i, 0), (i, int(y[i])), 255)
# 创建反掩码
mask_inv = cv2.bitwise_not(mask)
# 应用掩码得到第一张图片
img1 = cv2.bitwise_and(image, image, mask=mask)
# 应用反掩码得到第二张图片
img2 = cv2.bitwise_and(image, image, mask=mask_inv)
# 确保输出目录存在
output_dir = 'output'
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 保存结果图片
cv2.imwrite(os.path.join(output_dir, 'output1.jpg'), img1)
cv2.imwrite(os.path.join(output_dir, 'output2.jpg'), img2)
print("图片已成功切割并保存到 'output' 目录下。")