OpenCV——马赛克
来源:互联网 发布:网络对战平台安卓 编辑:程序博客网 时间:2024/05/01 09:48
具体的算法可以参考:
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 "Mosaic" 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); int P_size=9; float k1, k2; int n_row; int n_col; float m, n; int h,w; n_row=Image_in.rows; n_col=Image_in.cols; Mat sub_mat; srand( (unsigned)time(NULL) ); for (int i=P_size; i<Image_in.rows-P_size-1; i=i+P_size) { for (int j=P_size; j<Image_in.cols-1-P_size; j=j+P_size) { k1=(double)((rand() % 100))/100.0-0.5; k2=(double)((rand() % 100))/100.0-0.5; m=(k1*(P_size*2-1)); n=(k2*(P_size*2-1)); h=(int)(i+m)% n_row; w=(int)(j+n)% n_col; sub_mat=Image_out.operator()(Range(i-P_size,i+P_size), Range(j-P_size,j+P_size)); sub_mat.setTo(Scalar(Image_in.at<Vec3b>(h,w))); } } Image_out=Image_out/255.0; 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——马赛克
- Python + opencv 实现图片马赛克
- PS 滤镜算法原理 ——马赛克
- 渐变&马赛克——水晶格图标
- PS 滤镜算法原理 ——马赛克
- 马赛克
- OpenCV实现马赛克和毛玻璃滤镜效果
- OpenCV学习笔记_实现马赛克功能
- 基于OpenCv生成蒙太奇马赛克照片
- OpenCV 在iOS平台实现马赛克效果
- 微信朋友圈马赛克图片 —— 抓包破解
- Shader特效——“马赛克”的实现【GLSL】
- 【MFC基础入门】OpenCV人脸检测与马赛克
- 基于opencv的相机之马赛克功能实现(九)
- OpenCV,马赛克 常用图像增强算法的实现
- (已加马赛克)10 行代码判定色*情*图片——Python 也可以系列之二
- (已加马赛克)10 行代码判定色*情*图片——Python 也可以系列之二
- (已加马赛克)10 行代码判定色*情*图片——Python 也可以系列之二
- 优化方法求解课件大全
- 行车百科系列之(一): 被多数人忽略的行车安全大忌(操作篇)
- 基本数据类型
- 10月30日面试题——cmd行下输出
- netlink简单实例
- OpenCV——马赛克
- 第十周项目1程序填充与阅读(各控制符号代表的意义)
- 刚毕业第一次做软件开发的辛酸与收获
- duilib relativepos属性导致控件错误的bug修复
- VC中模态窗口启动就隐藏界面的实现
- 第十周项目一---程序填充1
- Eclipse+Maven+tomcat7集成配置
- 视图之UINavigationController结构解析(侧重于文档分析)
- smali文件对比java文件(转)