在使用OpenCV函数cv2.imread()读取图片后,查看其shape,发现是(height,weight,channel),也就是说,按图像坐标系来讲,imread().shape[0:2]返回的是(y,x)。意味着,直接使用imread()返回的图像里的坐标点时,与我们理解的图像坐标正好相反。
image = cv2.imread('迪丽热巴.jpg')
print(image.shape[0:2])
##输出(365,500),也即(高度,宽度)
black_point = [0,0,0]
image[10:13,100:103] = black_point#为了明显涂黑连续的9个像素点
可见,image[10,100]选中的是图像坐标系中的(100,10)的像素点。
结论:
OpenCV读取的图像矩阵坐标与图像坐标系下的坐标横纵正好相反。