我尝试将图像从彩色转换为灰度,但灰度级取决于滑块级别。我在互联网上发现的大部分教程都是将它变成绝对灰度。谢谢你的回答,我非常感谢
答案 0 :(得分:0)
您应该在全彩色图像和灰度版本之间使用一些插值,其系数由滑块的值决定。
例如,如果使用ColorMatrix
转换为灰度,described here,则要获得部分灰色图像,则应应用插值矩阵。比如说,“slider = 0”是全彩色,“slider = 1”是灰度,然后定义要应用的矩阵:
<color_matrix_to_apply> = slider * <grayscale_matrix> + (1 - slider) * <identity_matrix>
由于ColorMatrix
不提供文本操作,您应该为每个矩阵项“手动”实现此公式。
matrixToApply.Matrix00 = slider * grayscaleMatrix.Matrix00 + (1 - slider) * identityMatrix.Matrix00;
...
matrixToApply.Matrix44 = slider * grayscaleMatrix.Matrix44 + (1 - slider) * identityMatrix.Matrix44;