原理:马赛克可以理解为降低原图像的分辨率,用一组大像素覆盖原图区域,大像素的值用覆盖区域小像素的均值替代。

代码:

#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>  using namespace std;int main()
{cv::Mat img = cv::imread("D:\\timg.jpg");cv::Mat ROI(img, cv::Rect(0, 0, 400, 400));  //马赛克区域int W = 20, H = 20;    //大像素期望宽高int W1, H1;     //大像素实际宽高,马赛克区域不一定能恰好放下整数个大像素,在边界需作截断int i, j;for (i = 0; i < ROI.rows; i += H){H1 = (ROI.rows - i >= H) ? H : (ROI.rows - i);  //判断边界条件for (j = 0; j < ROI.cols; j += W){W1 = (ROI.cols - j >= W) ? W : (ROI.cols - j);cv::Mat tmp(ROI, cv::Rect(j, i, W1, H1));tmp = cv::mean(tmp);}}cv::imshow("result", img);cv::waitKey(20000);return 0;
}

效果:

原图

处理结果

学习opencv:PS滤镜—马赛克相关推荐

  1. Python: PS 滤镜--马赛克

    本文利用 Python 实现PS 滤镜中的马赛克效果,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/30 ...

  2. OpenCV——PS 滤镜, 浮雕效果

    具体的算法原理可以参考: PS 滤镜, 浮雕效果 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITH ...

  3. OpenCV——PS 滤镜, 曝光过度

    算法原理可以参考: PS 滤镜,曝光过度 #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED#include <ios ...

  4. 学习OpenCV:滤镜系列(15)——羽化(模糊边缘)

    ==============================================版权所有:小熊不去实验室CSDN博客 =================================== ...

  5. 学习OpenCV:滤镜系列(11)——高反差保留 (6.30修改版)

    ============================================== 版权所有:小熊不去实验室CSDN博客 ================================== ...

  6. 学习OpenCV:滤镜系列(8)——素描

    [原文:http://blog.csdn.net/yangtrees/article/details/9115321] ======================================== ...

  7. 学习OpenCV:滤镜系列(1)—— 雕刻浮雕

    [原文:http://blog.csdn.net/yangtrees/article/details/9090607] ======================================== ...

  8. opencv android 羽化,学习OpenCV:滤镜系列(15)——羽化(模糊边缘)

    ============================================== 版权所有:小熊不去实验室CSDN博客 ================================== ...

  9. java用opencv实现滤镜,学习OpenCV:滤镜系列(14)——载入选区

    ============================================== 版权所有: 小熊不去实验室 CSDN博客 ================================ ...

最新文章

  1. C#中数值型数据保留N位小数方法
  2. 编写一程序,有2个文本框,在第一个文本框中输入一个整数,当焦点从第一个文本框离开时,第二个文本框将显示这个数的绝对值(使用FocusListener)。
  3. 将存储过程的结果插入表里
  4. apache 一个站点配置多个域名
  5. Hadoop入门(二十二)Mapreduce的求平均值程序
  6. jeecg流程梳理学习
  7. svn在linux下的使用(svn命令行)ubuntu 删除 新增 添加 提交 状态查询 恢复
  8. 智慧城市_城市大脑:加速构建智慧城市
  9. win7怎么进入安全模式_windows 10如何进入安全模式
  10. Mybatis(12)事务原理和自动提交设置
  11. matlab 十字路口左转
  12. FOSRestBundle功能包:视图层
  13. 【GoWeb编程】准备起飞
  14. 怎么用计算机按反三角函数图像及性质,反三角函数在计算器上怎么操作
  15. 内网远程协助工具_分享几个常用的免费远程软件
  16. h264流头类型分辨方法
  17. Unity3D视频教程-传智-专题视频课程
  18. Python之路【第二十篇】:python项目之旧版抽屉新热榜
  19. 电线带电时先接零线还是火线
  20. 后端都需要学习什么?

热门文章

  1. PAT乙级 ——开学寄语
  2. TVP大佬组队,吐槽鹅厂数据库?!
  3. 简单通过微信公众号获取OPEN ID
  4. VB制作的“小小莫扎特五线谱助记软件”
  5. 【干货】如何利用 pandas 批量合并 Excel?
  6. 七牛云html文件夹,七牛命令行上传自动生成目录
  7. 如何隐藏、显示Excel工作表中的公式
  8. 关于信息检索(IR)、搜索引擎的学与思
  9. gee引擎修改UI界面图文教程
  10. 单片机篮球记分牌c语言程序和实训报告,单片机实现篮球记分牌的设计