CV2和PIL按box信息实现图像裁剪
Posted zheng1076
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CV2和PIL按box信息实现图像裁剪相关的知识,希望对你有一定的参考价值。
# 用cv2实现裁剪 import cv2 import os img = cv2.imread("./test_and_verification/1406170100001.jpg") # cv2.imshow(‘img‘,img) # cv2.waitKey(0) print(img.shape) 输出 (1422, 1067, 3) cropped = img[10:200,20:400] cv2.imwrite("./test_and_verification/cut_test.jpg", cropped) print(cropped.shape) 输出 (190, 380, 3) """ imread方法读取待裁剪的图片,然后查看它的shape,输出是(高度、宽度、通道数) 切片给出的坐标为需要裁剪的图片在原图片上的坐标,顺序为[y0:y1, x0:x1],其中左上角为坐标原点 """
# 用PIL实现裁剪 from PIL import Image img1 = Image.open("./test_and_verification/1406170100001.jpg") print(img1.size) 输出 (1067, 1422) cropped1 = img1.crop((30,40,80,120)) cropped1.save("./test_and_verification/cut_test1.jpg") print(cropped1.size) 输出 (50, 80) """ size的输出是图片的(宽度、高度) crop需要给定一个box参数,box是一个四元组,元组中元素的顺序是需要裁剪得到的图片在原图中的左、上、右、下坐标,即(left, upper, right, lower) """
原图太大就不 贴出来了,看shape值即可
以上是关于CV2和PIL按box信息实现图像裁剪的主要内容,如果未能解决你的问题,请参考以下文章