学习opencv:PS滤镜—马赛克
原理:马赛克可以理解为降低原图像的分辨率,用一组大像素覆盖原图区域,大像素的值用覆盖区域小像素的均值替代。
代码:
#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滤镜—马赛克相关推荐
- Python: PS 滤镜--马赛克
本文利用 Python 实现PS 滤镜中的马赛克效果,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/30 ...
- OpenCV——PS 滤镜, 浮雕效果
具体的算法原理可以参考: PS 滤镜, 浮雕效果 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITH ...
- OpenCV——PS 滤镜, 曝光过度
算法原理可以参考: PS 滤镜,曝光过度 #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED#include <ios ...
- 学习OpenCV:滤镜系列(15)——羽化(模糊边缘)
==============================================版权所有:小熊不去实验室CSDN博客 =================================== ...
- 学习OpenCV:滤镜系列(11)——高反差保留 (6.30修改版)
============================================== 版权所有:小熊不去实验室CSDN博客 ================================== ...
- 学习OpenCV:滤镜系列(8)——素描
[原文:http://blog.csdn.net/yangtrees/article/details/9115321] ======================================== ...
- 学习OpenCV:滤镜系列(1)—— 雕刻浮雕
[原文:http://blog.csdn.net/yangtrees/article/details/9090607] ======================================== ...
- opencv android 羽化,学习OpenCV:滤镜系列(15)——羽化(模糊边缘)
============================================== 版权所有:小熊不去实验室CSDN博客 ================================== ...
- java用opencv实现滤镜,学习OpenCV:滤镜系列(14)——载入选区
============================================== 版权所有: 小熊不去实验室 CSDN博客 ================================ ...
最新文章
- C#中数值型数据保留N位小数方法
- 编写一程序,有2个文本框,在第一个文本框中输入一个整数,当焦点从第一个文本框离开时,第二个文本框将显示这个数的绝对值(使用FocusListener)。
- 将存储过程的结果插入表里
- apache 一个站点配置多个域名
- Hadoop入门(二十二)Mapreduce的求平均值程序
- jeecg流程梳理学习
- svn在linux下的使用(svn命令行)ubuntu 删除 新增 添加 提交 状态查询 恢复
- 智慧城市_城市大脑:加速构建智慧城市
- win7怎么进入安全模式_windows 10如何进入安全模式
- Mybatis(12)事务原理和自动提交设置
- matlab 十字路口左转
- FOSRestBundle功能包:视图层
- 【GoWeb编程】准备起飞
- 怎么用计算机按反三角函数图像及性质,反三角函数在计算器上怎么操作
- 内网远程协助工具_分享几个常用的免费远程软件
- h264流头类型分辨方法
- Unity3D视频教程-传智-专题视频课程
- Python之路【第二十篇】:python项目之旧版抽屉新热榜
- 电线带电时先接零线还是火线
- 后端都需要学习什么?