如何解决将图像numpy数组直接转换为灰度数组而不保存图像
我有一个图像的尺寸为img_array
的NumPy数组(h,w,3)
,这是某些函数的结果。我想将此NumPy数组直接转换为灰度。
可能的解决方案:
使用img_array
将cv2.imwrite(path)
保存为图像。然后使用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
必须是文件路径名。
我认为保存单独的图像将占用更多的磁盘空间。是否有使用或不使用OpenCV库函数的更好方法。
解决方法
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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。