crop and resize image

目标

利用Python版的OpenCV,根据2D bounding box , crop图像。

以下假设2D bouding box 的格式为:[xmin , ymin , w,  h],以[30 30 72 42]为例。

代码
import cv2
bb2d = [30, 30, 72 ,42]
image = cv2.imread('car.png')
pt1 = (int(bb2d[0]), int(bb2d[1]))
pt2 = (int(bb2d[0]) + int(bb2d[2]), int(bb2d[1]) + int(bb2d[3]))
cv2.rectangle(image, pt1, pt2, (0,0,255))
cv2.imshow('original',image)
image = cv2.imread('car.png')
image_cropped = image[int(bb2d[1]):int(bb2d[1]) + int(bb2d[3]),
                      int(bb2d[0]):int(bb2d[0]) + int(bb2d[2])]
cv2.imshow('cropped',image_cropped)
image_resized = cv2.resize(image_cropped,(224,224))
cv2.imshow('resized',image_resized)
cv2.waitKey(0)
运行结果




参考:

https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_display.html

https://docs.opencv.org/3.0-beta/modules/imgproc/doc/geometric_transformations.html?highlight=resize#cv2.resize

猜你喜欢

转载自blog.csdn.net/breeze5428/article/details/80278113