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;
        }
    }
}
相关推荐
过期动态1 小时前
【动手学深度学习】卷积神经网络(CNN)入门
人工智能·python·深度学习·pycharm·cnn·numpy
蔗理苦5 小时前
2025-04-05 吴恩达机器学习5——逻辑回归(2):过拟合与正则化
人工智能·python·机器学习·逻辑回归
程序猿阿伟5 小时前
《SQL赋能人工智能:解锁特征工程的隐秘力量》
数据库·人工智能·sql
csssnxy6 小时前
叁仟数智指路机器人是否支持远程监控和管理?
大数据·人工智能
车斗6 小时前
win10 笔记本电脑安装 pytorch+cuda+gpu 大模型开发环境过程记录
人工智能·pytorch·电脑
KY_chenzhao6 小时前
数据驱动防灾:AI 大模型在地质灾害应急决策中的关键作用。基于DeepSeek/ChatGPT的AI智能体开发
人工智能·chatgpt·智能体·deepseek·本地化部署
大多_C6 小时前
量化方法分类
人工智能·分类·数据挖掘
www_pp_7 小时前
# 基于 OpenCV 的人脸识别实战:从基础到进阶
人工智能·opencv·计算机视觉
三月七(爱看动漫的程序员)7 小时前
LLM面试题六
数据库·人工智能·gpt·语言模型·自然语言处理·llama·milvus
蹦蹦跳跳真可爱5898 小时前
Python----计算机视觉处理(Opencv:道路检测之车道线拟合)
开发语言·人工智能·python·opencv·计算机视觉