【发布时间】: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 库函数。
【问题讨论】:
-
这能回答你的问题吗? Converting Numpy Array to OpenCV Array
-
您可以直接在 Numpy 中完成 - 请参见此处的最后一行 stackoverflow.com/a/58531115/2836621
-
@YunusTemurlenk 谢谢。我明白了:-)
标签: python python-3.x image opencv image-processing