OpenCV之怀旧色、冰冻滤镜、熔铸滤镜

怀旧色

源码:

复制代码
void huaijiu(Mat& src,Mat& dst)
{
    for (int h = 0;h < src.rows;h ++)
    {
        uchar *d1 = src.ptr<uchar>(h);
        uchar *d2 = dst.ptr<uchar>(h);
        for (int w = 0;w < src.cols;w ++)
        {
            int w3 = 3*w;
            int r =  d1[w3 + 2];
            int g = d1[w3 + 1];
            int b = d1[w3 + 0];
            int AR =(int)(0.393*r + 0.769*g + 0.189*b);
            int AG =(int)(0.349*r + 0.686*g + 0.168*b);
            int AB =(int)(0.272*r + 0.534*g + 0.131*b);
            AR = AR > 255 ? 255 : AR;
            AG = AG > 255 ? 255 : AG;
            AB = AB > 255 ? 255  : AB;

            d2[w3 + 2] = AR;
            d2[w3 + 1] = AG;
            d2[w3 + 0] = AB;
        }
    }

}

原图:

冰冻滤镜

复制代码
void bingdong(Mat& src,Mat& dst)
{
    for (int h = 0;h < src.rows;h ++)
    {
        uchar *d1 = src.ptr<uchar>(h);
        uchar *d2 = dst.ptr<uchar>(h);
        for (int w = 0;w < src.cols;w ++)
        {
            int w3 = 3*w;
            int r =  d1[w3 + 2];
            int g = d1[w3 + 1];
            int b = d1[w3 + 0];

            int AR =(r - b - g)*3/2;
            int AG =(g - b - r)*3/2;
            int AB =(b - r - g)*3/2;

            AR = AR > 255 ? 255 : AR;
            AG = AG > 255 ? 255 : AG;
            AB = AB > 255 ? 255  : AB;

            d2[w3 + 2] = AR;
            d2[w3 + 1] = AG;
            d2[w3 + 0] = AB;
        }
    }
}

熔铸滤镜

复制代码
void rongzhu(Mat& src,Mat& dst)
{
    for (int h = 0;h < src.rows;h ++)
    {
        uchar *d1 = src.ptr<uchar>(h);
        uchar *d2 = dst.ptr<uchar>(h);
        for (int w = 0;w < src.cols;w ++)
        {
            int w3 = 3*w;
            int r =  d1[w3 + 2];
            int g = d1[w3 + 1];
            int b = d1[w3 + 0];

            int AR = r * 128 / (b+g+1);
            int AG = g*128 / (b+r+1);
            int AB = b*128 / (r+g+1);

            AR = AR > 255 ? 255 : AR;
            AG = AG > 255 ? 255 : AG;
            AB = AB > 255 ? 255  : AB;

            d2[w3 + 2] = AR;
            d2[w3 + 1] = AG;
            d2[w3 + 0] = AB;
        }
    }
}
相关推荐
skywalk81633 分钟前
让Trae做一个ai打工网,主要是沟通AI开发、部署的买方和卖方
人工智能
老吴学AI3 分钟前
李飞飞 — 从文字到世界:空间智能是人工智能的下一个前沿领域
人工智能·空间智能
Hcoco_me6 分钟前
大模型面试题44:注意力机制的三代进化MHA/MQA/GQA
人工智能·深度学习·自然语言处理·transformer·word2vec
小真zzz6 分钟前
2026年AI办公软件推荐榜:AI生成PPT工具红榜
人工智能·ai·powerpoint·ppt
咕噜企业分发小米12 分钟前
阿里云与华为云AI教育生态重构中,企业如何参与?
人工智能·阿里云·华为云
啊巴矲13 分钟前
小白从零开始勇闯人工智能:深度学习初级篇(卷积神经网络上)
人工智能·深度学习·cnn
菠萝.吹.雪15 分钟前
1.机器学习与深度学习
人工智能·深度学习·机器学习
qinyia15 分钟前
如何安全清理以 amis 开头的容器与镜像
运维·数据库·人工智能·mysql·ssh
咕噜企业分发小米19 分钟前
阿里云和华为云在AI教育领域的生态重构具体会带来哪些影响?
人工智能·阿里云·华为云
劈星斩月19 分钟前
OpenCV 学习11 读取和写入视频文件
opencv·读取视频·写入视频