【问题标题】:how to show RGB images in python如何在python中显示RGB图像
【发布时间】:2020-05-28 23:16:54
【问题描述】:

我有一个这样的 RGB 数据集:

   [[ 255 165 0]
    [255 255 0]
    [0  255 0]]

我想显示每一行的颜色,分开 3 张 PNG 图像,每张 64x64 像素 matplotlib 或 opencv 中是否存在某种方法?

【问题讨论】:

  • 你的意思是你有一个包含这三行的文本文件,并且你想制作一个 3 像素高和 1 像素宽的图像?您是否正在为阅读文本文件而苦恼?还是制作图像?还是看到这么小的东西?
  • @MarkSetchell 问题已修改
  • 那么结果会是什么? 3 个单独的 PNG 图像,每个 64x64 像素,以便您可以看到它们?或者是一个 3 像素宽和 1 像素高的 TIFF 文件?
  • @MarkSetchell 再次感谢您的回复,我想分三张图片,第一张是 255 165 0,第二张是 255 255 0,第三张是 0255 0,每张都可以看到
  • 我的回答解决了您的问题吗?如果是这样,请考虑接受它作为您的答案 - 通过单击计票旁边的空心对勾/复选标记。如果没有,请说出什么不起作用,以便我或其他人可以进一步为您提供帮助。谢谢。 meta.stackexchange.com/questions/5234/…

标签: python python-3.x opencv matplotlib


【解决方案1】:

OpenCV(和大多数其他 Python 图像库)中,图像由 Numpy 数组表示。因此,如果您想制作一个充满 [255, 165, 0] 的 3 通道(即彩色)图像,您只需要:

import cv2
import numpy as np

# Make 64x64 pixel colour image
im = np.full((64,64,3), [255,165,0], dtype=np.uint8)

# Save to disk
cv2.imwrite('result.png', im)

请注意,OpenCV 使用 BGR 排序,因此如果您的 3 个值实际上是 RGB,则需要:

im = np.full((64,64,3), [0,165,255], dtype=np.uint8)

【讨论】:

    猜你喜欢
    • 2020-09-28
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    • 2013-01-18
    • 2011-05-07
    • 2021-05-27
    • 2019-03-27
    相关资源
    最近更新 更多