我怎样才能从图像中提取所有发白的像素并将它们绘制到具有新颜色的新图像上。下面的代码是我将如何使用 python 执行此操作,但该项目的大部分内容都是用 ruby 编写的,所以我试图坚持使用它。
from PIL import Image
im = Image.open("image_in.png")
im2 = Image.new("P",im.size,255)
im = im.convert("P")
temp = {}
for x in range(im.size[1]):
for y in range(im.size[0]):
pix = im.getpixel((y,x))
temp[pix] = pix
if pix == 225:
im2.putpixel((y,x),0)
im2.save("image_out.png")
这是我到目前为止得到的:
require 'rubygems'
require 'RMagick'
include Magick
image = Magick::Image.read('image_in.png').first
image2 = Image.new(170,40) { self.background_color = "black" }
pixels = []
(0..image.columns).each do |x|
(0..image.rows).each do |y|
pixel = image.pixel_color(x, y)
if pixel == 54227 >> pixels #color value
image2.store_pixels(pixels)
end
end
end
image2.write('image_out.png')