美文网首页
opencv,numpy,matplotlib上对图片操作的细微

opencv,numpy,matplotlib上对图片操作的细微

作者: 提着木剑走天下 | 来源:发表于2019-02-28 17:15 被阅读0次

一张彩色图片用 opencvmatplotlib 读取时,其中RGB的三色通道顺序是不同的,其中 opencv 的是bgr,而 matplotlib 的是rgb,这里面的转换是可以是,

    rgb = bgr[:,:,::-1]

关于图片的大小改变,即 opencvnumpy ,这里面 opencvresizenumpyreshape

img = cv2.resize(img, (image_width ,image_height),interpolation=cv2.INTER_CUBIC)
img = np.reshape(img, [image_height, image_width, image_channel])

可以看出,opencv.resize 是默认的先 fx 轴,后 fy 轴,也就是先宽后高,但是numpy.reshape,是指矩阵中的(行,列),对应图片就是(高,宽)。
值得注意的是,这里的 reshape 并不能像 resize 中的那样可以进行图片的缩放,如果需要处理推荐直接使用 opencv 中的 resize,只要把想处理的数据处理成图片的格式形状就行,例如,要处理 A[c,w,h] 的格式数据,可以先用

 np.transpose(A, (2,0,1))

变成 A'[w,h,c] ,然后在 opencvresize,这样可以很好的保留原始数据的特性。

相关文章

网友评论

      本文标题:opencv,numpy,matplotlib上对图片操作的细微

      本文链接:https://www.haomeiwen.com/subject/tbfkuqtx.html