一.简单裁剪
import cv2
img
= cv2
.imread("/18.jpg")
print(img
.shape
)
cropped
= img
[0:800, 0:1476] # 裁剪坐标为
[y0
:y1
, x0
:x1
]
cv2
.imwrite("/cv_cut_thor.jpg", cropped
)
-----------------------------------------分割线---------------------------------------------
二.复杂裁剪
要求: 将一副 14761784 的大图像裁剪为n块 608608 大小的切片
import cv2
# 读取图片
1.jpg
img
= cv2
.imread("E:/img/test.jpg")
# 图片大小为
1476*1784
print(img
.shape
)
flag2
= 0
# i的取值范围为:
1784/608 + 1 = 3,也即为横着切
3块
# j的取值范围为:
1476/608 + 1 = 3,也即为竖着切
3块
# 共
6块大小为
608*608的切片,其中最右和最下边缘可能不是
608*608
for i
in range(3):
flag
= 0
for j
in range(3):
cropped
= img
[i
*608:(i
+1)*608, flag
*608:(flag
+1)*608]
flag
= flag
+ 1
flag2
= flag2
+ 1
path
= 'E:/img/' + str(flag2
) + '.jpg'
cv2
.imwrite(path
, cropped
)
运行结果
(1784, 1478, 3) # 其实我的是灰度图 括号最后的
3不重要了
=.=
原图
裁剪后结果
三. 报错 no module named cv2
解决办法:
使用命令
pip install opencv
-python
错误命令
pip install cv2
转载请注明原文地址: https://lol.8miu.com/read-8520.html