OpenCV学习十五:线性滤波filter2D
2018-02-23 16:47
435 查看
简单介绍下函数:
filter2D(输入,输出,卷积核,锚点),其中锚点Point(-1,-1)表示中心。
介绍几个滤波器:
#include <opencv2/opencv.hpp>
#include <stdio.h>
#include <stdlib.h>
using namespace cv;
using namespace std;
char file[] = "1.jpg";
int main(int argc, char** argv)
{
Mat img = imread(file, -1);
pyrDown(img, img, Size(img.cols/2, img.rows/2));
imshow("1",img);
Mat out;
Mat kernel_x = (Mat_<int>(2,2) << 1,0, 0,-1);
filter2D(img, out, -1, kernel_x, Point(-1,-1));
imshow("filter", out);imwrite("filter.jpg", out);
//这里就是为了突出结果
cvtColor(out, out, CV_BGR2GRAY);
normalize(out, out, 255, 0, NORM_MINMAX);
imshow("filter3", out);imwrite("filter3.jpg", out);
waitKey();
return 1;
} 原图:
filter.jpg
filter3.jpg
filter2D(输入,输出,卷积核,锚点),其中锚点Point(-1,-1)表示中心。
介绍几个滤波器:
#include <opencv2/opencv.hpp>
#include <stdio.h>
#include <stdlib.h>
using namespace cv;
using namespace std;
char file[] = "1.jpg";
int main(int argc, char** argv)
{
Mat img = imread(file, -1);
pyrDown(img, img, Size(img.cols/2, img.rows/2));
imshow("1",img);
Mat out;
Mat kernel_x = (Mat_<int>(2,2) << 1,0, 0,-1);
filter2D(img, out, -1, kernel_x, Point(-1,-1));
imshow("filter", out);imwrite("filter.jpg", out);
//这里就是为了突出结果
cvtColor(out, out, CV_BGR2GRAY);
normalize(out, out, 255, 0, NORM_MINMAX);
imshow("filter3", out);imwrite("filter3.jpg", out);
waitKey();
return 1;
} 原图:
filter.jpg
filter3.jpg
相关文章推荐
- 学习【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波---思维导图笔记
- Opencv 学习笔记之图像线性滤波综合示例
- OpenCV学习笔记(九):线性滤波:方框滤波、均值滤波、高斯滤波
- 【OpenCV学习笔记】十五、图像滤波
- Opencv学习之线性滤波
- 【OpenCV笔记 10】OpenCV线性滤波(均值滤波、方框滤波、高斯滤波)
- Opencv学习:非线性滤波:中值滤波、双边滤波
- opencv 线性滤波
- 我的OpenCV学习笔记(10):空域滤波之锐化滤波器
- OpenCV图像处理教程C++(十四)卷积算子、自定义线性滤波以及边缘处理
- OpenCV之八 线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- opencv学习笔记(二十)——形态学滤波
- OpenCV学习笔记(十五)形状检测
- 【OpenCV学习】图像卷积滤波
- OpenCV学习七:线性融合函数addWeighted
- 【学习opencv】IplImage平滑滤波 cvSmooth
- [学习opencv]高斯、中值、均值、双边滤波
- 学习OpenCV范例(十五)——霍夫变换
- 学习OpenCV——Kalman滤波
- Opencv2系列学习笔记8(图像滤波)