opencv滤镜-怀旧滤镜

怀旧滤镜

通过对rgb三个颜色分量的调整可以将照片处理成一种老照片的怀旧风格。调整的公式如下

opencv滤镜-怀旧滤镜_第1张图片图 1:怀旧滤镜公式

原图图 2:原图

代码实现

// vintage-filter.cpp : 怀旧滤镜
// @mango

#include 
#include



int main()
{

    cv::Mat img = cv::imread("fruit.jpg");

    for (size_t i = 0; i < img.rows; i++)
    {
        for (size_t j = 0; j < img.cols; j++)
        {
            
            img.at(i, j)[1] = cv::saturate_cast(0.349*img.at(i, j)[2] + 0.686*img.at(i, j)[1] + 0.168*img.at(i, j)[0]);// green
            img.at(i, j)[2] = cv::saturate_cast(0.393*img.at(i, j)[2] + 0.769*img.at(i, j)[1] + 0.189*img.at(i, j)[0]);// red
                        img.at(i, j)[0] = cv::saturate_cast(0.272*img.at(i, j)[2] + 0.534*img.at(i, j)[1] + 0.131*img.at(i, j)[0]);// blue
        }
    }
    cv::imshow("怀旧滤镜", img);

    cv::waitKey(0);
    return 0;
}

运行代码效果

opencv滤镜-怀旧滤镜_第2张图片图 3:怀旧滤镜效果


本文由芒果浩明发布,转载请注明来源。
本文链接:https://mangoroom.cn/opencv/vintage-filter.html

你可能感兴趣的:(OpenCV,C++,GDI+)