OpenCV——百叶窗
来源:互联网 发布:美工视频教程 编辑:程序博客网 时间:2024/04/27 13:06
参考: PS 图像特效,百叶窗
// 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 "window shades" 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 Map(Image_in.size(), CV_32FC3); float val; Mat temp; for (int i=0; i<Map.rows; i++) { val=i/255.0; temp=Map.row(i); temp.setTo(Scalar(val,val,val)); } int H_shade=8; int Inter=5; int Num; Num=Map.rows/(H_shade+Inter); //cout<<Num; Mat Mask(Image_in.size(), CV_32FC3); Mask.setTo(Scalar(1.0,1.0,1.0)); int row_begin=0; for (int i=0; i<=Num; i++) { if(i<Num) { row_begin=i*(H_shade+Inter); temp=Mask.rowRange(row_begin, row_begin+H_shade-1); temp.setTo(Scalar(0.0,0.0,0.0)); } else { row_begin=i*(H_shade+Inter); temp=Mask.rowRange(row_begin, Image_in.rows-1); temp.setTo(Scalar(0.0,0.0,0.0)); } } Mat M1, M2; Image_out=Image_out/255.0; cv::multiply(Image_out, -Mask+1, M1); cv::multiply(Map, Mask, M2); Image_out=M1+M2; Show_Image(Image_out, "out"); imwrite("out.jpg", Image_out*255); waitKey(); cout<<"All is well."<<endl;}// define the show image#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);}
原图
效果图
0 0
- OpenCV——百叶窗
- PS图像特效算法——百叶窗
- 神奇的发明 —— 百叶窗
- 百叶窗
- Camera.js——百叶窗幻灯片(超炫)
- 经典代码收藏之——百叶窗特效的Java实现
- Windows界面编程第三季位图特效显示——交错、百叶窗、随机积木、飞入伸展
- Android魔法(第四弹)—— 一步步实现百叶窗效果
- silverlight百叶窗
- 百叶窗特效
- 实现百叶窗效果图
- asp百叶窗实现
- flex 百叶窗效果
- flex百叶窗效果
- felx百叶窗效果
- 页面产生百叶窗脚本
- 窗体百叶窗效果
- J2ME实现百叶窗效果
- 【141030】CS结构的VC++远程控制程序源代码
- ibatis、Castle综合
- 欧几里德算法证明
- hdu1151——Air Raid
- 基于Android的个人记账软件的设计与实现
- OpenCV——百叶窗
- c语言的一元运算符号*的作用
- hdu 1194
- 程序员生存定律--表达背后的力量(2)
- Java跨语言调用实现方案 protobuf thrift Hadoop avro
- Java内置类型的Autoboxing实现机制和Integer的CacheInteger的使用
- DP HDU 2577
- Java:Session详解
- 参悟Kalman滤波之初步理解与实现