如何将RGBA字节串转换为灰度图像?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将RGBA字节串转换为灰度图像?相关的知识,希望对你有一定的参考价值。
我在RGBA中有一个图像的字节数组(从django中的请求接收),我想要灰度。我该怎么做?
基本上,我有一个字节串(例如,b'x00x00x00....x00'
,图像的RGBA值的单字节字符串),我想将其转换为灰度numpy数组,如:
[[0, 0,...,0],
[255,0,...,0],
[...],
[...]]
对于360000
像素的图像,字节数组的长度是300x300
。
答案
您可以将您的bytestring转换为np.array
,然后将其转换为灰度或执行您可能需要的任何操作。
import cv2
import numpy as np
# this is to simulate your bytestring
x = b'x00'*300*300*4
# convert to np.array()
img = np.frombuffer(x, dtype=np.uint8).reshape((300, 300, 4))
print(img.shape)
# (300, 300, 4)
# process the image, e.g.,
img_gray = cv2.cvtColor(img, cv2.COLOR_RGBA2GRAY)
print(img_gray.shape)
# (300, 300)
另一答案
使用opencv,您可以使用该行gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
将图像转换为灰度
我希望它会对你有所帮助!
阿德里安
以上是关于如何将RGBA字节串转换为灰度图像?的主要内容,如果未能解决你的问题,请参考以下文章