参考:

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
"Paint" 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 r(Image_in.size(), CV_32FC1);
Mat g(Image_in.size(), CV_32FC1);
Mat b(Image_in.size(), CV_32FC1); Mat rgb[]={b,g,r}; split(Image_out, rgb); int P_size=3;
Mat sub_mat; double min_val; for (int i=P_size; i<Image_in.rows-P_size-1; i++)
{
for (int j=P_size; j<Image_in.cols-1-P_size; j++)
{
for(int k=0; k<3; k++)
{
sub_mat=rgb[k].operator()(Range(i-P_size,i+P_size), Range(j-P_size,j+P_size));
cv::minMaxLoc(sub_mat, &min_val);
Image_out.at<Vec3f>(i,j)[k]=min_val;
}
/*
sub_mat=b.operator()(Range(i-P_size,i+P_size), Range(j-P_size,j+P_size));
cv::minMaxLoc(sub_mat, min_val);
Image_out.at<Vec3f>(i,j)[0]=*min_val; sub_mat=g.operator()(Range(i-P_size,i+P_size), Range(j-P_size,j+P_size));
cv::minMaxLoc(sub_mat, min_val);
Image_out.at<Vec3f>(i,j)[1]=*min_val; sub_mat=r.operator()(Range(i-P_size,i+P_size), Range(j-P_size,j+P_size));
cv::minMaxLoc(sub_mat, min_val);
Image_out.at<Vec3f>(i,j)[2]=*min_val;
*/ }
} 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); }

原图

效果图

OpenCV——非线性滤波器的更多相关文章

  1. PS 图像特效-非线性滤波器

    利用非线性滤波器,使图像的色彩凝块,形成一种近似融化的特效. clc; clear all; addpath('E:\PhotoShop Algortihm\Image Processing\PS A ...

  2. opencv 卡尔曼滤波器例子,自己修改过

    一.卡尔曼滤波器的理论解释 http://blog.csdn.net/lindazhou2005/article/details/1534234(推荐) 二.代码中一些随机数设置函数,在opencv中 ...

  3. 线性滤波器(linear filter)与非线性滤波器(non-linear filter)

    1. 均值滤波器与中值滤波器 image processing - Difference between linear and non linear filter - Signal Processin ...

  4. 每日一练之自适应中值滤波器(基于OpenCV实现)

    本文主要介绍了自适应的中值滤波器,并基于OpenCV实现了该滤波器,并且将自适应的中值滤波器和常规的中值滤波器对不同概率的椒盐噪声的过滤效果进行了对比.最后,对中值滤波器的优缺点了进行了总结. 空间滤 ...

  5. 图像处理基础(2):自适应中值滤波器(基于OpenCV实现)

    本文主要介绍了自适应的中值滤波器,并基于OpenCV实现了该滤波器,并且将自适应的中值滤波器和常规的中值滤波器对不同概率的椒盐噪声的过滤效果进行了对比.最后,对中值滤波器的优缺点了进行了总结. 空间滤 ...

  6. 图像滤波与OpenCV中的图像平滑处理

    .About图像滤波 频率:可以这样理解图像频率,图像中灰度的分布构成一幅图像的纹理.图像的不同本质上是灰度分布规律的不同.但是诸如"蓝色天空"样的图像有着大面积近似的灰度强度,而 ...

  7. 13、OpenCV实现图像的空间滤波——图像平滑

    1.空间滤波基础概念 1.空间滤波基础 空间滤波一词中滤波取自数字信号处理,指接受或拒绝一定的频率成分,但是空间滤波学习内容实际上和通过傅里叶变换实现的频域的滤波是等效的,故而也称为滤波.空间滤波主要 ...

  8. OpenCV计算机视觉学习(4)——图像平滑处理(均值滤波,高斯滤波,中值滤波,双边滤波)

    如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice &q ...

  9. 数字图像处理- 3.4 空间滤波 and 3.5 平滑空间滤波器

    3.4 空间滤波基础 • Images are often corrupted by random variations in intensity, illumination, or have poo ...

随机推荐

  1. Django开发之html交互

    html中用户输入信息,由Django的view.py处理,大致用到了以下几类格式: 1. 文本框 <input type="text" name="vid&quo ...

  2. android 二维码制作,显示到UI,并保存SD卡,拿来就能用!!

    转载请注明出处:王亟亟的大牛之路 如今二维码已经渗透了我们的生活.各种扫码关注啊.扫码下载的,今天上一个依据输入内容生成二维码的功能. 包结构: 界面截图: 功能:输入网址–>生成图片–> ...

  3. C语言基础知识【判断】

    C 判断1.判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的).C 语言把任何非零和非空的值假定为 true,把零或 null ...

  4. 九度OJ 1206:字符串连接 (字符串操作)

    时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:4127 解决:1957 题目描述: 不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来. 输入: 每一行包括两个 ...

  5. elasticsearch从入门到出门-04-入门的几个需求练手

    第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search{  "aggs": {    "group_by_tags&qu ...

  6. cookie的坑

      HTTP Cookie       设置了secure ,   该cookie只能在HTTPS通道下被写入浏览器. HTTPS Cookie     设置了secure ,   该cookie只能 ...

  7. Computer Vision: Algorithms and ApplicationsのImage processing

    实在是太喜欢Richard Szeliski的这本书了.每一章节(after chapter3)都详述了该研究方向比較新的成果.还有很多很多的reference,假设你感兴趣.全然能够看那些參考论文 ...

  8. Office 2013“永久激活信息”备份

    Office 2013“永久激活信息”备份还原简明教程及成功恢复的注意事项Office 2013永久激活后及时备份激活信息可以保证重装后快速激活.网上也有流行的各种备份工具,虽然操作简单,但是如果不理 ...

  9. Spark0.9.0机器学习包MLlib-Optimization代码阅读

           基于Spark的一个生态产品--MLlib,实现了经典的机器学算法,源码分8个文件夹,classification文件夹下面包含NB.LR.SVM的实现,clustering文件夹下面包 ...

  10. 【SHARE】WEB前端学习资料

    参考资料:https://github.com/karlhorky/learn-to-program 学习网站:http://www.codecademy.com/learn https://www. ...