【问题标题】:Convert image numpy array into grayscale array directly without saving image直接将图像numpy数组转换为灰度数组而不保存图像
【发布时间】:2020-12-01 00:20:07
【问题描述】:

我有一个 NumPy 数组 img_array 一个图像的维度 (h,w,3),这是某个函数的结果。我想把这个 NumPy 数组直接转成灰度。

可能的解决方案: 使用cv2.imwrite(path)img_array 保存为图像。然后用cv2.imread(path, cv2.GRAYSCALE)再次阅读

但是,我正在寻找这样的东西:

def convert_array_to_grayscale_array(img_array):
        do something...
        return grayscare_version

我已经尝试过cv2.imread(img_array, CV2.GRAYSCALE),但是抛出了img_array must be a file pathname 的错误。

我认为保存单独的图像会消耗更多的磁盘空间。有没有更好的方法可以使用或不使用 OpenCV 库函数。

【问题讨论】:

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


【解决方案1】:

scikit-image具有颜色转换功能:https://scikit-image.org/docs/dev/auto_examples/color_exposure/plot_rgb_to_gray.html

from skimage.color import rgb2gray

grayscale = rgb2gray(img_array)


【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-02
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    相关资源
    最近更新 更多