我正在嘗試將模糊蒙版的ImageMagick命令轉換爲Magick ++ API。Magick ++ blur mask
ImageMagick的:
convert -size 720x478 xc: -sparse-color Barycentric '0,0 black 0,%h white' -function polynomial 4,-4,1 -level 0,50% mask.jpg
Magick ++:
Magick::Image mask(Magick::Geometry(720,478), Magick::Color("white"));
double args[6];
args[0] = 0;
args[1] = 0;
args[2] = 0;
args[3] = 0;
args[4] = mask.rows();
args[5] = MaxRGB;
mask.sparseColor(Magick::DefaultChannels, Magick::BarycentricColorInterpolate, 6, args);
args[0] = 4;
args[1] = -4;
args[2] = 1;
args[3] = 0;
args[4] = 0;
args[5] = 0;
mask.quantumOperator(Magick::DefaultChannels, Magick::PolynomialFunction,
3,args);
parseLevel(image, "0,50%", args); // contains code from mogrify.c for parsing the leveling string
mask.level(args[0], args[1], args[2], ' ');
結果我得到的只是一個白色圖像,而正確的面具形象應該是這樣的:
有人可以告訴我我的錯誤嗎?
我已經嘗試過12個自變量,x,y和R,G,B,A,但我得到了與以前相同的結果。有10個參數會拋出無效參數的異常。 – zindarod
好的,對不起。那麼剩下的一切就是最後一個建議:把你的例子分解成最小的部分,找出罪魁禍首的功能。 IOW:如果你註釋掉了quantumOperator()和level(),結果掩碼看起來是否合理?如果是,請再次添加quantumOperator()。等等... – ThorngardSO