因为在 OpenCV2 里面,所有的东西都是 numpy array 即 np.ndarray1,所以使用 opencv 剪切图像主要原理是用 ndarray 的切片。一张图片基本上都是三维数组:行,列,通道数,切片只是涉及到前两维。
import cv2 import numpy img = cv2.imread('test1.png') #先获取尺寸 shape = img.shape print(shape) """ 0:375 指的从竖直方向截取 0~375 240:480 指的是从水平方向截取 240~480 其中原点是图片的左上角""" cv2.imshow('sss', img[0:375, 240:480]) cv2.waitKey(0) cv2.destroyAllWindows()
效果如下所示:
我们根据这张图分析一下 img[0:375, 240:480] 的含义1。
0:375 指的从竖直方向截取 0~375
240:480 指的是从水平方向截取 240~480
其中原点是图片的左上角