我是靠谱客的博主 威武夕阳,最近开发中收集的这篇文章主要介绍python 老照片修复_OpenCV——老照片效果,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

// define head function

#ifndef PS_ALGORITHM_H_INCLUDED

#define PS_ALGORITHM_H_INCLUDED

#include

#include

#include "cv.h"

#include "highgui.h"

#include "cxmat.hpp"

#include "cxcore.hpp"

using namespace std;

using namespace cv;

void Show_Image(Mat&, const string &);

#endif // PS_ALGORITHM_H_INCLUDED

/*

This program will generate

"Old Picture" effect.

*/

#include "PS_Algorithm.h"

#include

using namespace std;

using namespace cv;

int main(void)

{

string Img_name("9.jpg");

Mat Image_in;

Image_in=imread(Img_name);

Show_Image(Image_in, Img_name);

Mat Image_out(Image_in.size(), CV_32FC3);

Image_in.convertTo(Image_out, CV_32FC3);

Mat Image_2(Image_in.size(), CV_32FC3);

Image_in.convertTo( Image_2, CV_32FC3);

Mat r(Image_in.rows, Image_in.cols, CV_32FC1);

Mat g(Image_in.rows, Image_in.cols, CV_32FC1);

Mat b(Image_in.rows, Image_in.cols, CV_32FC1);

Mat out[]={b, g, r};

split(Image_2, out);

Mat r_new(Image_in.rows, Image_in.cols, CV_32FC1);

Mat g_new(Image_in.rows, Image_in.cols, CV_32FC1);

Mat b_new(Image_in.rows, Image_in.cols, CV_32FC1);

r_new=0.393*r+0.769*g+0.189*b;

g_new=0.349*r+0.686*g+0.168*b;

b_new=0.272*r+0.534*g+0.131*b;

Mat rgb[]={b_new, g_new, r_new};

merge(rgb,3,Image_out);

Image_out=Image_out/255;

Show_Image(Image_out, "out.jpg");

imwrite("out.jpg", Image_out*255);

waitKey();

cout<

}

#include "PS_Algorithm.h"

#include

#include

using namespace std;

using namespace cv;

void Show_Image(Mat& Image, const string& str)

{

namedWindow(str.c_str(),CV_WINDOW_AUTOSIZE);

imshow(str.c_str(), Image);

}

原图

效果图

最后

以上就是威武夕阳为你收集整理的python 老照片修复_OpenCV——老照片效果的全部内容,希望文章能够帮你解决python 老照片修复_OpenCV——老照片效果所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部