图像坐标系是(w,h),w为x轴,h为y轴,(x,y)
但opencv读出来的数组却正好相反,是(h,w,3),(y,x,3)
所以这里会有一个转换
image = cv2.imread('1.jpg')
print(image.shape[0:2])
##输出(365,500),也即(高度,宽度)
实则转换为图像坐标系时,要转置一下,或者image.shape[::-1]
切片操作 [start,endstep],其中:- start: 表示开始的下标,如果省略默认为 0
- end: 表示结束的下标(不包含),如果省略默认为序列长度
- step: 表示步长,默认为 1所以 a[::-1] 的含义是:- start 为最后一个元素 (因为省略了):a[-1]
- end 为第一个元素 (因为省略了):a[0]
- step 为 -1, 这意味着反向文章来源:https://www.toymoban.com/news/detail-524481.html
使用matplotlib.pyplot.imread也是如此,plt.imread文章来源地址https://www.toymoban.com/news/detail-524481.html
到了这里,关于关于opencv中cv2.imread函数读取的图像shape问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!