// define head function
#ifndef PS_ALGORITHM_H_INCLUDED
#define PS_ALGORITHM_H_INCLUDED #include <iostream>
#include <string>
#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
"Shade" effect. */ #include "PS_Algorithm.h"
#include <time.h> using namespace std;
using namespace cv; int main(void)
{
string Img_name("4.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 Map(Image_in.size(), CV_32FC3);
Mat temp;
float val; // build the mapping table
/*
for (int i=0; i<Image_2.rows; i++)
{
temp=Map.row(i);
val=(float)(i)/(float)Image_2.rows;
temp.setTo(Scalar(val,val,val));
}
*/ // build the mapping talbe
for (int i=0; i<Image_2.cols; i++)
{
temp=Map.col(i);
val=1-std::abs((float)(i)/((float)Image_2.cols/2)-1);
temp.setTo(Scalar(val,val,val));
} Show_Image(Map, "Map"); cv::multiply(Image_2, Map, Image_out); Image_out=Image_out/255.0; Show_Image(Image_out, "out"); imwrite("out.jpg", Image_out*255); waitKey();
cout<<"All is well."<<endl; } #include "PS_Algorithm.h"
#include <iostream>
#include <string> 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); }

原图

效果图

最新文章

  1. GDI+ 发生一般性错误解决办法
  2. 手机 无法转移到SD卡 Andriod 导出应用程序
  3. Visual Studio 2015 + IIS Express 10.0 调试 ASP.NET 项目
  4. json字符串转map
  5. 网络笔记01-3 socket 实现百度页面的两种方式
  6. 进程通信之一 使用WM_COPYDATA C++及C#实现(转)
  7. python函数介绍
  8. Cocos2d-x开发实例介绍特效演示
  9. yii 缓存探究
  10. MySQL字符串中数字排序的问题
  11. JSP 之国际化
  12. Python3基础 list() 将一个字符串转换成列表
  13. CSS3学习系列之背景相关样式(一)
  14. offsetof的意义
  15. shell编程之运算符(3)
  16. spring boot整合shiro
  17. [Swift]LeetCode783. 二叉搜索树结点最小距离 | Minimum Distance Between BST Nodes
  18. 浅谈JavaScript之事件(上)
  19. Python的多态、继承与封装
  20. Java类、属性、方法、构造方法、块、内部类的基本概念

热门文章

  1. Android简易实战教程--第三十四话《 自定义SeekBar以及里面的一些小知识》
  2. Xcode无法安装基于ruby的插件问题的解决
  3. [nginx] 对UA为空的请求返回403
  4. springMVC源码分析--拦截器HandlerExecutionChain(三)
  5. Java之继承深刻理解
  6. 在OC代码中创建Swift编写的视图控制器
  7. 3.关于QT中的MainWindow窗口,MenuBar,ToolBar,QuickTip等方面的知识点
  8. 01_Eclipse的使用方法
  9. FFmpeg源代码简单分析:avcodec_open2()
  10. 【移动开发】Service类onStartCommand()返回值和参数