当前位置:   article > 正文

opencv滤镜-怀旧滤镜_opencv怀旧滤镜

opencv怀旧滤镜

怀旧滤镜

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

怀旧滤镜公式.png图 1:怀旧滤镜公式

原图图 2:原图

代码实现

  1. // vintage-filter.cpp : 怀旧滤镜
  2. // @mango
  3. #include <iostream>
  4. #include<opencv2/opencv.hpp>
  5. int main()
  6. {
  7. cv::Mat img = cv::imread("fruit.jpg");
  8. for (size_t i = 0; i < img.rows; i++)
  9. {
  10. for (size_t j = 0; j < img.cols; j++)
  11. {
  12. img.at<cv::Vec3b>(i, j)[1] = cv::saturate_cast<uchar>(0.349*img.at<cv::Vec3b>(i, j)[2] + 0.686*img.at<cv::Vec3b>(i, j)[1] + 0.168*img.at<cv::Vec3b>(i, j)[0]);// green
  13. img.at<cv::Vec3b>(i, j)[2] = cv::saturate_cast<uchar>(0.393*img.at<cv::Vec3b>(i, j)[2] + 0.769*img.at<cv::Vec3b>(i, j)[1] + 0.189*img.at<cv::Vec3b>(i, j)[0]);// red
  14. img.at<cv::Vec3b>(i, j)[0] = cv::saturate_cast<uchar>(0.272*img.at<cv::Vec3b>(i, j)[2] + 0.534*img.at<cv::Vec3b>(i, j)[1] + 0.131*img.at<cv::Vec3b>(i, j)[0]);// blue
  15. }
  16. }
  17. cv::imshow("怀旧滤镜", img);
  18. cv::waitKey(0);
  19. return 0;
  20. }

运行代码效果

怀旧滤镜效果.png图 3:怀旧滤镜效果


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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/257621
推荐阅读
相关标签
  

闽ICP备14008679号