京东电商的主图需要800*800和624*800两种不同的尺寸(不同类目有所不同),
得到的素材是一份800*800的图片,手动裁剪成624*800效率太低了,
python又派上用场了!
用cv2模块,可以快速将图片裁剪成所需要的大小,至于裁剪的位置嘛,需要事先计算一下。
改进方向:自动按中间的位置裁剪,再升级可以改进为自动识别中心位置并进行裁剪
import cv2
img = cv2.imread("./cut/1.jpg")
print(img.shape)
cropped = img[0:800, 88:712] # 裁剪坐标为[y0:y1, x0:x1]
cv2.imwrite("./out/1_o.jpg", cropped)
运行结果:
裁剪完成之后图片就是624*800的了。
超级方便吧~
升级版:批量裁剪
【python】批量裁剪图片为指定大小,按位置截取,cv2
(点我跳转链接)
平移translate
翻转flip
图像的仿射变换Affine transformation基本图像处理1. 缩放scale缩放通过
cv2
.resize()实现函数说明:
cv2
.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst 参数说明:
src -
在这篇文章里我们聊一下
Python
实现
图片
裁剪
的两种方式,一种利用了Pillow,还有一种利用了
OpenCV
。两种方式都需要简单的几行代码,这可能也就是现在
Python
那么流行的原因吧。
首先,我们有一张原始
图片
,如下图所示:
原始
图片
然后,我们利用
OpenCV
对其进行
裁剪
,代码如下所示:
import
cv2
img =
cv2
.imread("./data/cut/thor.j...
在
python
中,使用
OpenCV
库中的
cv2
.imread() 函数读取图像,
cv2
.imshow() 函数显示图像,
cv2
.imwrite() 函数保存图像,然后使用 numpy 库中的索引和切片功能来
裁剪
图像。
下面是一个示例:
import
cv2
#读取
图片
img =
cv2
.imread("example.jpg")
#
裁剪
的
位置
和
大小
x = 100
y = 200
w ...
cv2
.imshow("before cut",img)
cv2
.waitKey(0)
img=img[10:650,300:600] # 第一个范围表示高度 第二个范围表示宽度
cv2
.imshow("after cut",img)
cv2
.imwrite("cutimage",img)
cv2
.waitKey(0)...
文章目录前言一、手动单张
裁剪
/
截取
二、根据
图片
的
位置
坐标进行
裁剪
/
截取
三、
opencv
获取边缘并根据bounding box
截取
/
裁剪
目标四、用YOLO目标检测框
裁剪
并
批量
保存总结
在计算机视觉任务中,如图像分类,图像数据集必不可少。自己采集的
图片
往往存在很多噪声或无用信息会影响模型训练。因此,需要对
图片
进行
裁剪
处理,以防止
图片
边缘无用信息对模型造成影响。本文介绍几种
图片
裁剪
的方式,供大家参考。
一、手动单张
裁剪
/
截取
selectROI:选择感兴趣区域,边界框框选x,y,w,h
selectR