Skip to main content
 首页 » 编程设计

python之如何用每个像素的 RGB 值构建图像

2025年05月04日11thcjp

我正在使用 Python 和 PIL 库,并且我拥有图像每个像素的 RGB 信息及其位置。有什么方法可以根据这些信息构建图像吗?

请您参考如下方法:

当然。如果您的源数据稀疏(即您没有每个像素位置的值),您可能需要执行以下操作:

  • 创建所需尺寸的空图像
  • 确保您的颜色数据以光栅顺序存储(即按 y 然后 x 排序)
  • 遍历数据并将像素值存储在每个位置

因此,假设您有一个元组数组,例如 (x, y, (r,g,b)),您可以执行以下操作:

from pil import Image 
 
WIDTH=640 
HEIGHT=480 
 
img = Image.new(WIDTH, HEIGHT, 'RGB') 
 
# Define this based on your data 
my_raster_sort(my_image_data) 
 
img_data = img.load() 
for x, y, color in my_image_data: 
    img_data[x,y] = color 

如果您的源图像数据是完整的(即每个位置都有一个颜色值),那么将数据转换为具有所需内存布局格式的缓冲区,然后一步创建图像可能会更快使用 Image.frombuffer .