【问题标题】:How do i convert an image read with cv2.imread('img.png',cv2.IMREAD_UNCHANGED) to the format of cv2.imread('img.png',cv2.IMREAD_COLOR)如何将使用 cv2.imread('img.png',cv2.IMREAD_UNCHANGED) 读取的图像转换为 cv2.imread('img.png',cv2.IMREAD_COLOR) 的格式
【发布时间】:2018-07-04 13:55:03
【问题描述】:

我正在尝试读取格式不变的图像,进行一些操作并将其转换回彩色格式

im = cv2.imread(fname,cv2.IMREAD_UNCHANGED) # shape(240,240,4)
....
im2 = cv2.imread(im,cv2.IMREAD_COLOR) # required shape(240,240,3)

但是,看起来我无法将第一个 numpy 数组的结果输入到第二个 imread 中。 所以目前我在操作后创建了一个临时图像并读取该值以获得所需的 im2 值。

im = cv2.imread(fname,cv2.IMREAD_UNCHANGED) # shape(240,240,4)
....
cv2.imwrite('img.png',im)
im2 = cv2.imread('img.png',cv2.IMREAD_COLOR) # required shape(240,240,3)

但是我想避免创建临时图像的步骤。我如何通过更好的方法实现同样的目标

【问题讨论】:

    标签: python-3.x numpy opencv image-processing


    【解决方案1】:

    OpenCV有颜色转换功能cvtColor

    https://docs.opencv.org/3.1.0/de/d25/imgproc_color_conversions.html

    im2 = cv2.cvtColor(im, <conversion code>)
    

    您应该根据您拥有的图像格式自己找出转换代码。可能是cv2.COLOR_BGRA2BGR

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-04
      • 2020-05-08
      • 2017-11-17
      • 1970-01-01
      • 2016-08-19
      • 2019-09-17
      • 2021-01-01
      • 2017-06-21
      相关资源
      最近更新 更多