OpenGL(十六)通过 卷积 实现: 边缘混合 、 Blur 和 高斯模糊

本文讲述了在OpenGL中利用卷积技术进行图像处理,包括边缘混合、区域缩暗、区域加亮和高斯模糊。卷积用于调整图像颜色和锐利度,高斯模糊通过特定权重的卷积核降低图像细节,实现模糊效果。实际应用中,为提高效率,通常采用一维向量计算,并可能分水平和垂直两个Pass处理。
摘要由CSDN通过智能技术生成

卷积

卷积 (Convolution)是两个变量在某范围内相乘后求和的结果。卷积计算通常用来处理边缘的颜色或整体的混色。作为采样之后的处理,可以供很多功能使用。因此在图像效果处理时,它还是应用比较广泛的。

区域缩暗

通过最简单的像素采样,可以将图片中整体的锐利度降低,通过在一个3x3的区域取颜色,并取出区域中的最小色值,可以实现整体变暗,并且边界会像内缩一段距离。

void main()
{
    vec4 minValue = vec4(1.0);
    int coreSize=3;
    int halfSize=coreSize/2;
    float texelOffset = 1/100.0;
    for(int y=0;y<coreSize;y++)
    {
        for(int x = 0;x<coreSize;x++)
        {
            vec4 currentAlpha = texture2D(U_MainTexture,V_Texcoord+vec2((-halfSize+x)*texelOffset,(-halfSize+y)*texelOffset));
            minValue = min(minValue,currentAlpha);
        }
    }
    gl_FragColor=minValue;
}

区域加亮

与区域缩暗相反,取域中最亮的值就可以加亮整体效果,另外边界也会

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值