Initial commit
This commit is contained in:
43
split06.py
Normal file
43
split06.py
Normal 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' 目录下。")
|
||||
Reference in New Issue
Block a user