OpenCV 之 自定义滤波】的更多相关文章

图像处理中,"空间域" 指的是图像平面,因此,空间滤波 可定义为:在图像平面内对像素灰度值进行的滤波 1  空间滤波 1.1  滤波过程 如图,Filter 是一个 3x3 滤波核,当它从图像的左上角开始,逐个像素沿水平方向扫描,最后到右下角时,便会产生滤波后的图像 假设输入图像 $f(x, y)$,滤波后的图像为  $g(x, y)$,则其中 $g(2,2)$ 和 $g(4,4)$ 的计算过程如下:                上图中,以像素 (4,4) 为中心的 3x3 邻域,和…
卷积核的定义 均值卷积核 // 自定义滤波 - 均值卷积 int k = 15; Mat mkernel = Mat::ones(k, k, CV_32F) / (float)(k * k); Mat dst; // 第三个参数,图像深度,-1表示和输入图像一样 filter2D(src, dst, -1, mkernel, Point(-1, -1), 0, BORDER_DEFAULT); imshow("custom mean filter", dst); 非均值卷积核 // 非…
对图像进行卷积是图像处理的基本操作,最近在研究图像滤波,经常要用到自定义卷积,所以实现了一下 #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" using namespace cv; Mat get_blur_kernel(int kernel_size);//获得归一化滤波的卷积核 int main(int argc, char ** argv) { Mat…
1.算法功能简介 自定义滤波可以自由设置滤波模板,对数据进行处理,自定义滤波器的一般规则要求: ( 1) 滤波器的大小应该是奇数,这样它才有一个中心,例如 3x3, 5x5 或者 7x7.有中心了,也有了半径的称呼,例如 5x5 大小的核的半径就是 2. ( 2) 滤波器矩阵所有的元素之和应该要等于 1,这是为了保证滤波前后图像的亮度保持不变.当然了,这不是硬性要求了. ( 3) 如果滤波器矩阵所有元素之和大于 1,那么滤波后的图像就会比原图像更亮,反之,如果小于 1,那么得到的图像就会变暗.如…
目标跟踪学习笔记_2(particle filter初探1) 目标跟踪学习笔记_3(particle filter初探2) 前面2篇博客已经提到当粒子数增加时会内存报错,后面又仔细查了下程序,是代码方面的问题.所以本次的代码与前几次改变比较小.当然这些code基本也是参考网上的.代码写得很不规范,时间不够,等以后有机会将其优化并整理成类的形式.)              Opencv实现粒子滤波算法            摘要 本文通过opencv实现了一种目标跟踪算法——粒子滤波算法,算法的…
下面是频域滤波示例程序: 在本程序中,共有五个自定义函数,分别是: 1. myMagnitude(),在该函数中封装了Opencv中的magnitude函数,实现对于复数图像的幅值计算. 2. dftshift(),该函数实现对图像四个象限的对角互换,相当于MatLab中 fftshift(),将频谱的原点(0,0)移到图像中心.示例1中采用了该函数实现了频谱图中心化. 3. srcCentralized()用于傅里叶变换前的预处理,以便得到傅里叶频谱的原点(0,0)位于图像的中心. 该函数与d…
CUDA是GPU通用计算的一种,其中现在大热的深度学习底层GPU计算差不多都选择的CUDA,在这我们先简单了解下其中的一些概念,为了好理解,我们先用DX11里的Compute shader来和CUDA比较下,这二者都可用于GPU通用计算. 先上一张微软MSDN上的图. Compute shader: 线程块: Dispatch(x,y,z), 索引SV_GroupID 线程组: [numthreads(SIZE_X, SIZE_Y, 1)], 索引SV_GroupThreadID. 组内索引:…
以前的时候,为了过滤图像中的一些噪点,学过一些简单的滤波,比如中值滤波,均值滤波,也是自己实现的. 在opencv中有现成的函数可以调用,实现滤波的操作. 函数的原型如下: CVAPI(void) cvSmooth( const CvArr* src, CvArr* dst, int smoothtype CV_DEFAULT(CV_GAUSSIAN), ), ), ), )); 前两个参数是输出图像的指针,目标图像的指针: 第三个参数是传入一个值,表示现在滤波的方式: 最后四个值一般用来表示模…
原文:http://blog.csdn.net/xiaowei_cqu/article/details/7785365 邻域滤波(卷积)   邻域算子值利用给定像素周围像素的值决定此像素的最终输出.如图左边图像与中间图像卷积禅城右边图像.目标图像中绿色的像素由原图像中蓝色标记的像素计算得到. 通用线性邻域滤波是一种常用的邻域算子,输入像素加权得到输出像素: 其中权重核   为“滤波系数”.上面的式子可以简记为: [方框滤波] 最简单的线性滤波是移动平均或方框滤波,用 窗口中的像素值平均后输出,核…
均值滤波 均值滤波函数cv2.blur() import cv2 img = cv2.imread('01.jpg') blur = cv2.blur(img,(5,5)) cv2.imshow("blur",blur) cv2.waitKey() 中值滤波 中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值,对脉冲噪声和椒盐噪声滤除作用明显.中值滤波函数 cv2.medianBlur() import cv2 img = cv2.im…