Renderscript错误地对我的图像进行采样

时间:2017-07-04 08:27:40

标签: android image-processing renderscript android-renderscript

我有一个存在多种颜色的图像(让我们称之为蒙版)。我还有一个选择'的列表颜色。我的renderscript创建了一个我用作叠加层的新图像。如果蒙版和选定列表中都有颜色,则该区域中的叠加层应为红色,否则为绿色。

这些是图片: enter image description here

enter image description here

请注意,生成的图像(上面有红色遮罩)之间有一条绿线。我确保在创建第一个图像时关闭消除锯齿功能,以便“面具”中没有意外的颜色。但是,出于某种原因,它在我的渲染中并不被视为一种或另一种颜色。这是代码:

#pragma version(1)
#pragma rs java_package_name(za.co.overtake)

int*reds;
int*greens;
int*blues;
int imgWidth;

uchar4 RS_KERNEL root(uchar4 in, uint32_t x, uint32_t y) {
   bool colourme = false;

for(int col = 0; col < imgWidth; col++){

    const int red = reds[col];
    const int green = greens[col];
    const int blue = blues[col];

     if (in.r == red && in.g == green && in.b == blue){
        colourme = true;
    }
}
 if (colourme) {
    in.r = 117;
    in.g = 0;
    in.b = 0;
    in.a = 100;
 } else if (in.a > 200) {
     in.r = 10;
     in.g = 60;
     in.b = 10;
     in.a = 100;
 } else {
    in.r = 0;
    in.g = 0;
    in.b = 0;
    in.a = 0;
 }
return in;
}

任何帮助将不胜感激。我还是新手,而且我一直被困住了!

0 个答案:

没有答案