当前位置: 首页 > 面试题库 >

将灰度图像转换为3通道图像

羊舌昆杰
2023-03-14
问题内容

我想将具有形状的灰度图像转换为具有形状(height,width)的3通道图像(height,width,nchannels)。使用可以完成工作for- loop,但是必须有一个整洁的方法。这是程序中的一段代码,有人可以提示。请指教。

 30         if img.shape == (height,width): # if img is grayscale, expand
 31             print "convert 1-channel image to ", nchannels, " image."
 32             new_img = np.zeros((height,width,nchannels))
 33             for ch in range(nchannels):
 34                 for xx in range(height):
 35                     for yy in range(width):
 36                         new_img[xx,yy,ch] = img[xx,yy]
 37             img = new_img

问题答案:

您可以使用np.stack它来更简洁地完成此操作:

img = np.array([[1, 2], [3, 4]])
stacked_img = np.stack((img,)*3, axis=-1)
print(stacked_img)
 # array([[[1, 1, 1],
 #         [2, 2, 2]],
 #        [[3, 3, 3],
 #         [4, 4, 4]]])


 类似资料:
  • 问题内容: 我正在使用aparapi编写Buddhabrot分形生成器。我将其中的OpenCL部分工作了,得到了一个表示每个像素的单维数组。我将最终图像的尺寸作为最终整数,并编写了代码以获取该数组中任意点的索引。我想将其另存为图像,并且尝试将BufferedImage与TYPE_USHORT_GRAY一起使用。这是我到目前为止的内容: 问题是,我不知道将RGB设置为什么。我需要做什么? 问题答案:

  • 问题内容: 你好,我正在将图像从彩色转换为纯黑白,结果是深色图像。我没有原因。以下是我的代码,它受SO上其他代码的启发。任何指导都会有所帮助。 我没有弄错我在做什么。使用任何其他开放源代码库的任何其他想法都可以。 工作::::: 问题答案: 您实际上并没有将彩色图像转换为黑白图像。您正在创建与空白图片相同大小的新空白图片。您实际上需要做一些处理旧图像的操作。

  • 问题内容: 我有一个3,076,568个二进制值(1s和0s)的NumPy数组。我想将其转换为矩阵,然后在Python中转换为灰度图像。 但是,当我尝试将数组重塑为1,538,284 x 1,538,284矩阵时,出现内存错误。 如何减小矩阵的大小,以便将其变成适合屏幕显示的图像而又不丢失唯一性/数据? 此外,如何将其转换为灰度图像? 任何帮助或建议,将不胜感激。谢谢。 问题答案: 您的“二进制值

  • 问题内容: 如何使用,或其他工具通过命令行将图像转换为黑白(灰度)? 问题答案: 如果已安装, 如果您不担心丢失原始文件:。

  • 问题内容: 我试图用来读取RGB图像并将其转换为灰度。 在matlab中,我使用以下代码: 在matplotlib教程中,他们没有介绍。他们只是读了图像 然后将它们切成薄片,但这与根据我的理解将RGB转换为灰度不是同一回事。 我发现很难相信numpy或matplotlib没有将rgb转换为灰色的内置函数。这不是图像处理中的常见操作吗? 我写了一个非常简单的函数,可以在5分钟内使用导入的图像。这是非

  • 我有一个关于将我的PNG图像更改为灰度的问题。我想做一个方法,接受byte[]图像作为参数,并作为byte[]返回新修改的灰度图像。 我发现了一些链接,使图像灰度与JPEG图像使用下面的片段。 我的参考资料在下面:我如何使用ImageJ作为单独的Java应用程序的库?https://www.mkyong.com/java/how-to-convert-byte-to-bufferedimage-i