我在C#中编写程序,但希望C++和C#在背景中完全相同。 我想要什么 - 采取灰度图像和单独的颜色超过127和17以分离图像。如果我只是得到“白”的颜色和编程方式从范围(127-255)至(0-255)舒展他们像ImageMagick - 为灰度图像设置水平
// pseudocode
int min = 127, max = 255;
for(int x; x< width; x++)
pixels[x] = pixels[x]/(max-min) * max;
那么这里将是不流畅的间隔。我的意思是,127转换为0但128转换为2和颜色1,3,5,...不存在。
即原始图像具有α:image original
即用 “提取白色” 图像:image original
即用 “提取黑” 图像:snorgg.ru/patchwork/tst_black.png。
我并不清楚地了解它如何能够实现这样exampe代码会喜欢:提前
{
im.MagickImage image = new im.MagickImage("c:/55/11.png");
im.MagickImage imageWhite = ExtractWhite(image);
im.MagickImage imageBlack = ExtractBlack(image);
}
....
public static im.MagickImage ExtractWhite(im.MagickImage img){
im.MagickImage result = new im.MagickImage(img);
?????
?????
return result;
}
thankы))
我觉得你的问题很难理解。如果你从一个1像素高,256像素宽的图像开始,第一个像素为0,然后是1,2,3 ... 255,那么将会有多少输出图像以及每个图像在哪个图像中? – 2014-12-16 19:57:30
@Mark Setchell,会有两个图像。如果中间是“中间灰色”,则:首先是“0,0,2,2,4,4 ...... 255,255”。下一个 - '0,0,2,2,4,4,... 255,255'。如果在255的1/4(第一季度与其他季度之间)中的“中灰度”,则:首先是“0,0,0,0,4,4,4,4 ...... 255,255”。接下来是'0,1,2,2,4,5,6,6,8,... 254,255'。因为尝试将0..63范围拉伸到0..255。 – user3444737 2014-12-16 20:29:20