opencv滤镜-连环画滤镜

连环画滤镜

连环画滤镜的公式为:

连环画滤镜公式.png图 1:连环画滤镜公式

原图图 2:原图

代码实现

// comic-filter.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
// @mango

#include
#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++)
        {
            int r = img.at(i, j)[2];
            int g = img.at(i, j)[1];
            int b = img.at(i, j)[0];

            double R = std::abs(g - b + g + r) * r / 256;
            double G = std::abs(b - g + b + r) * r / 256;
            double B = std::abs(b - g + b + r) * g / 256;

            img.at(i, j)[0] = cv::saturate_cast(B);
            img.at(i, j)[1] = cv::saturate_cast(G);
            img.at(i, j)[2] = cv::saturate_cast(R);
        }
    }
    cv::imshow("连环画滤镜", img);

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

滤镜效果

opencv滤镜-连环画滤镜_第1张图片图 3:连环画滤镜效果


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

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