【发布时间】:2016-03-18 19:15:47
【问题描述】:
我正在翻译一个用 MATLAB 制作的函数,该函数使用 Rmagick 将图像扇区的颜色强度降低到 Ruby
for i=round(f/3):f
for j=1:round(c)
for k=1:p
A(i,j,k) = B(i,j,k) - a;
end
end
end
for i=1:round(2*f/3)
这会将所有 3 个 RGB 矩阵的颜色强度降低某个值 (a)。尝试用 ruby 代码重现这个结果:
(0..imagen.columns).each do |x|
((2 * imagen.rows) / 3..imagen.rows).each do |y|
imagen.pixel_color(x, y, 'pink')
end
end
我可以将图像的下三分之一更改为固定颜色,在本例中为粉红色。
尝试使用每种颜色的方法将每个组件减少某个值(atenuacion)是行不通的,它会返回相同的图像。
(0..imagen.columns).each do |x|
((2 * imagen.rows) / 3..imagen.rows).each do |y|
pixel = imagen.pixel_color(x, y)
pixel.red - atenuacion
pixel.green - atenuacion
pixel.blue - atenuacion
imagen.pixel_color(x, y, pixel)
end
end
欢迎任何提示或建议,提前谢谢你:D
【问题讨论】:
标签: ruby image-processing rmagick