精华内容
下载资源
问答
  • 用于减少SAR图像斑点的引导图像滤波
  • 通过梯度域引导图像滤波进行多尺度曝光融合
  • 针对现有局部立体匹配算法在弱纹理表面、深度不连续处等特定区域匹配精度低、实时性难以满足要求等问题, 提出了一种基于跨尺度引导图像滤波的稠密立体匹配算法。利用图像分割技术对立体图像进行预分割, 得到分割区域...
  • 论文地址以及代码:http://kaiminghe.com/eccv10/Abstract: 这篇文章中,作者提出了一种新颖的图像滤波算法。这种方法的灵感来自于局部线性模型。本方法引入了一个导向滤波图,这个导向滤波图可以是图片本身也可以是...

    论文地址以及代码:http://kaiminghe.com/eccv10/

    Abstract: 这篇文章中,作者提出了一种新颖的图像滤波算法。这种方法的灵感来自于局部线性模型。本方法引入了一个导向滤波图,这个导向滤波图可以是图片本身也可以是另一个图片,然后算法利用导向滤波图的纹路来对目标图像进行滤波。这个方法类似于双边滤波器是一个边缘保留平滑算子,但是在边缘保留的表现上优于双边滤波器。此外,他还可以将导向图的结构保留到滤波的结果中,可以用来去雾、羽化等。该方法处理速度快,应是现在最快的边缘保留滤波器。

    一、图像滤波的简要介绍

    说在前面:关于权重与边缘保留的关系,这篇文章解释的挺清楚的:http://blog.csdn.net/baimafujinji/article/details/74750283

    首先,我们定义一个线性转换的滤波器:

    这个公式的意思是说,输出像素的值是输入图像p以像素j为中心的一个小窗口和其对应像素的权重相乘后的和。这是最简单的滤波器,根据不同的权重有不同的作用。例如高斯滤波器,它的权重服从二维的高斯分布。也就是说,离中心像素越近的点就拥有更高的权重。这样的滤波器拥有很好的平滑作用,但也因此会使边缘变得模糊。

    再例如双边滤波器的权重,如公式(2)所示,相比起高斯滤波就更加的科学,也拥有更好的边缘保留能力。

    其中k表示了窗口中的像素数目,表示了两个像素之间的空间距离,表示了两个像素之间的颜色差距,这两个是常数系数。这个权重的意思是说,空间距离越近,颜色越相近,这个像素所占的权重就越大,反之则越小。由于边缘两边的像素通常很接近,但颜色相差却比较大,这样的权重就会相对小一些,也就达到了边缘保留的目的。

    二、导向图滤波

    符号定义:

    • I:引导图像
    • p:输入图像
    • q:输出图像

        公式定义:,其中,都是常数系数,要通过计算获得。

        这个公式非常简单却具有边缘保留的能力以及不逊色的平滑去噪能力。

            1. 首先来看一下为什么这个公式具有边缘保留能力:

            对公式(4)求导可以得到:,也就是说,导向图I有梯度的地方,输出图像q就有梯度,即,他们拥有相同的边缘。

            2. 如何平滑去噪

            在(4)式的线性模型下,我们在保留边缘的时候还要实现去噪,用公式表达的话就是:

          其中的就表示噪声。

            由(4)(5)可得我们需要最小化的损失函数为:

            

            其中的为惩罚项。

            对(6)式求解的结果如下:

            

            也就是说,在系数为(7)(8)式的时候,整个线性模型不仅能实现平滑去噪,还能实现边缘保留。

           

            然而,上面的公式都是针对一个像素点而言的。当我们真正处理起来的时候一般是使用滑动窗口的形式,于是,线性模型就变成了如下的形式:

            把前面的系数放进括号里面,就可以简单表达为:

            这里需要注意的是,经过(9)(10)式的变换以后,不在是的简单缩放了。因为空间可变,现在相当于被一个均值滤波器的滤过,是一个平均值,所以输出图像的梯度将会比输入图像的梯度小一些。在这种情况下,,也就意味着I中突然的梯度变化大部分能被q保留。

    三、运用到图像去雾中

        导向图滤波还能应用到图像去雾中去。上一篇文章《Single Image Haze Removal Using Dark Channel Prior》中,求出的t(x)只是粗略估计,而文章中的softmatting的方法过于复杂,时间复杂度也很高。在这篇文章中提出的导向图滤波就能代替softmatting的方法精细化t(x)。

        在图像去雾中,导向图就是有雾图像的暗通道图,输入图像就是有雾图像,算法如下图所示:

        

        四、代码

    opencv版

    #include<opencv2/opencv.hpp>
    #include<opencv2/highgui/highgui.hpp>
    #include<opencv2/imgproc/imgproc.hpp>
    //#include<iostream>
    using namespace cv;
    
    typedef struct Pixel
    {
    	int x;
    	int y;
    	int value;
    }Pixel;
    
    inline bool cmp(Pixel a, Pixel b)
    {
    	return a.value>b.value;
    }
    
    //最小值滤波
    //dark_img = minfliter(dark_img, windowsize);
    Mat minfilter(Mat& D, int windowsize) {
    	int dr = D.rows;
    	int dc = D.cols;
    	int r = (windowsize - 1) / 2; //windowsize是奇数
    	Mat dark_img(dr, dc, CV_8UC1);  //暗通道图
    	dark_img = D.clone();
    	for (int i = r;i <= dr - r - 1;i++) {
    		for (int j = r;j <= dc - r - 1;j++) {
    			int min = 255;
    			for (int m = i - r;m <= i + r;m++) {
    				for (int n = j - r;n <= j + r;n++) {
    					if (D.at<uchar>(m, n) < min)
    						min = D.at<uchar>(m, n);
    				}
    			}
    			dark_img.at<uchar>(i, j) = min;
    		}
    	}
    	//std::cout <<"暗通道图像"<< dark_img;
    	imshow("暗通道图", dark_img);
    	return dark_img;
    }
    
    //暗通道的计算
    Mat Producedarkimg(Mat& I, int windowsize)
    {
    	int min = 255;
    	Mat dark_img(I.rows, I.cols, CV_8UC1);  //单通道
    	int radius = (windowsize - 1) / 2;
    	int nr = I.rows; // number of rows    
    	int nc = I.cols;
    	int b, g, r;
    	if (I.isContinuous()) { //当图像连通时,我们就可以把图像完全展开,看成是一行
    		nc = nr * nc; 
    		nr = 1;
    	}
    	for (int i = 0;i<nr;i++)
    	{
    		const uchar* inData = I.ptr<uchar>(i);
    		uchar* outData = dark_img.ptr<uchar>(i);
    		for (int j = 0;j<nc;j++)
    		{
    			b = *inData++;
    			g = *inData++;
    			r = *inData++;
    			min = min>b ? b : min;  //寻找三通道中的最小值
    			min = min>g ? g : min;
    			min = min>r ? r : min;
    			*outData++ = min;
    			min = 255;
    		}
    	}
    	dark_img = minfilter(dark_img, windowsize);
    	return dark_img;
    }
    
    //计算大气光值A
    int* getatmospheric_light(Mat& darkimg, Mat& srcimg, int windowsize)
    {
    	int radius = (windowsize - 1) / 2;
    	int nr = darkimg.rows, nl = darkimg.cols;
    	int darksize = nr*nl;
    	int topsize = darksize / 1000;   //暗通道图中0.1%最亮像素的个数
    	int *A = new int[3];
    	int sum[3] = { 0,0,0 };
    	Pixel *toppixels, *allpixels;
    	toppixels = new Pixel[topsize];
    	allpixels = new Pixel[darksize];
    
    
    	for (int i = 0;i<nr;i++) {
    		const uchar* outData = darkimg.ptr<uchar>(i);
    		for (int j = 0;j<nl;j++)
    		{
    			allpixels[i*nl + j].value = *outData++;
    			allpixels[i*nl + j].x = i;
    			allpixels[i*nl + j].y = j;
    		}
    	}
    	//std::qsort(allpixels,darksize,sizeof(Pixel),qcmp);  
    	std::sort(allpixels, allpixels + darksize, cmp);
    
    	memcpy(toppixels, allpixels, (topsize) * sizeof(Pixel)); //找到了在darkimg中最亮的0.1%个  
    
    	int val0, val1, val2, avg, max = 0, maxi, maxj, x, y;
    	for (int i = 0;i<topsize;i++)
    	{
    		x = allpixels[i].x;y = allpixels[i].y;  //暗通道中最亮像素的坐标
    		const uchar* outData = srcimg.ptr<uchar>(x);
    		outData += 3 * y;
    		val0 = *outData++;
    		val1 = *outData++;
    		val2 = *outData++;
    		avg = (val0 + val1 + val2) / 3;
    		if (max<avg) { max = avg;maxi = x;maxj = y; }
    	}
    	for (int i = 0;i<3;i++)
    	{
    		A[i] = srcimg.at<Vec3b>(maxi, maxj)[i];
    		//A[i]=srcimg.at<Vec4b>(maxi,maxj)[i];  
    		//A[i]=A[i]>220?220:A[i];  
    	}
    	return A;  //返回A的3个b,g,r分量
    }
    
    //导向图滤波
    Mat guidedFilter(Mat& transmission, Mat& graymat, Mat& trans, int windowsize, double ap) {
    	windowsize = 6 * windowsize;
    	Mat mean_P(transmission.rows, transmission.cols, CV_32FC1);
    	Mat mean_I(graymat.rows, graymat.cols, CV_32FC1);
    	Mat corr_I(graymat.rows, graymat.cols, CV_32FC1);
    	Mat corr_IP(graymat.rows, graymat.cols, CV_32FC1);
    	Mat var_I(graymat.rows, graymat.cols, CV_32FC1);
    	Mat cov_IP(graymat.rows, graymat.cols, CV_32FC1);
    	Mat a(graymat.rows, graymat.cols, CV_32FC1);
    	Mat b(graymat.rows, graymat.cols, CV_32FC1);
    	Mat mean_a(graymat.rows, graymat.cols, CV_32FC1);
    	Mat mean_b(graymat.rows, graymat.cols, CV_32FC1);
    	blur(transmission, mean_P, Size(windowsize,windowsize));
    	blur(graymat, mean_I, Size(windowsize, windowsize));
    	corr_I = graymat.mul(graymat);
    	corr_IP = graymat.mul(transmission);
    	var_I = corr_I - mean_I.mul(mean_I);
    	cov_IP = corr_IP - mean_I.mul(mean_P);
    	a = cov_IP / (var_I + ap);
    	b = mean_P - a.mul(mean_I);
    	blur(a, mean_a, Size(windowsize, windowsize));
    	blur(b, mean_b, Size(windowsize, windowsize));
    	trans = mean_a.mul(graymat) + mean_b;
    	return trans;
    }
    
    //计算透射图t并精细化
    Mat getTransmission_dark(Mat& srcimg, Mat& darkimg, int *array, int windowsize)
    {
    	float test;
    	float avg_A = (array[0] + array[1] + array[2]) / 3.0;
    	float w = 0.95;
    	int radius = (windowsize - 1) / 2;
    	int nr = srcimg.rows, nl = srcimg.cols;
    	Mat transmission(nr, nl, CV_32FC1);
    
    	for (int k = 0;k<nr;k++) {
    		const uchar* inData = darkimg.ptr<uchar>(k);
    		for (int l = 0;l<nl;l++)
    		{
    			transmission.at<float>(k, l) = 1 - w*(*inData++ / avg_A);
    		}
    	}
    	Mat trans(nr, nl, CV_32FC1);
    	Mat graymat(nr, nl, CV_8UC1);
    	Mat graymat_32F(nr, nl, CV_32FC1);
    	cvtColor(srcimg, graymat, CV_BGR2GRAY);
    	for (int i = 0;i<nr;i++) {
    		const uchar* inData = graymat.ptr<uchar>(i);
    		for (int j = 0;j<nl;j++)
    			graymat_32F.at<float>(i, j) = *inData++ / 255.0;
    	}
    	guidedFilter(transmission, graymat_32F, trans, 6 * windowsize, 0.001);
    
    
    	return trans;
    }
    
    //计算J(X)
    Mat recover(Mat& srcimg, Mat& t, int *array, int windowsize)
    {
    	int test;
    	int radius = (windowsize - 1) / 2;
    	int nr = srcimg.rows, nl = srcimg.cols;
    	float tnow = t.at<float>(radius, radius);
    	float t0 = 0.1;
    	Mat finalimg = Mat::zeros(nr, nl, CV_8UC3);
    	int val = 0;
    	for (int i = 0;i<3;i++) {
    		for (int k = radius;k<nr - radius;k++) {
    			const float* inData = t.ptr<float>(k);  inData += radius;
    			const uchar* srcData = srcimg.ptr<uchar>(k);  srcData += radius * 3 + i;
    			uchar* outData = finalimg.ptr<uchar>(k);  outData += radius * 3 + i;
    			for (int l = radius;l<nl - radius;l++)
    			{
    				tnow = *inData++;
    				tnow = tnow>t0 ? tnow : t0;
    				val = (int)((*srcData - array[i]) / tnow + array[i]);
    				srcData += 3;
    				val = val<0 ? 0 : val;
    				*outData = val>255 ? 255 : val;
    				outData += 3;
    			}
    		}
    
    	}
    	return finalimg;
    }
    
    int main() {
    	int windowsize = 15;
    	Mat srcimg=imread("1.jpg");
    	imshow("原图", srcimg);
    	Mat darkimg(srcimg.rows,srcimg.cols, CV_8UC1);
    	Mat trans(srcimg.rows, srcimg.cols, CV_32FC1);
    	Mat pic(srcimg.rows, srcimg.cols, CV_8UC3);
    	int *A=new int[3];
    	
    	//暗通道的计算
    	darkimg=Producedarkimg(srcimg, windowsize);
    	//计算大气光值A
    	A=getatmospheric_light(darkimg, srcimg,windowsize);
    	//计算透射图t并精细化
    	trans = getTransmission_dark(srcimg, darkimg, A, windowsize);
    	//计算J(X)
    	pic = recover(srcimg, trans, A, windowsize);
    	//显示去雾后的图像
    	imshow("去雾后",pic);
    	waitKey(0);
    }

    五、效果图







    展开全文
  • 本文提出了一种新的全局引导图像滤波算法,该算法由全局结构转移滤波器和全局保持边缘平滑滤波器组成,将该滤波器应用于单幅图像的去雾处理。实验结果表明,提出的G-GIF图像确实能较好地保留去噪后的图像的精细结构...

    Abstract

          Local edge-preserving smoothing techniques such as guided image filtering (GIF) and weighted guided image filtering      (WGIF) could not preserve fine structure. In this paper, a new globally guided image filtering (G-GIF) is introduced to overcome the problem. The G-GIF is composed of a global structure transfer filter and a global edge-preserving smoothing filter. The proposed filter is applied to study single image haze removal. Experimental results show that fine structure of the dehazed image is indeed preserved better by the proposed G-GIF and the dehazed images by the proposed G-GIF are sharper than those dehazed images by the existing GIF.
          Index Terms— Globally guided image filtering, structure transfer, edge-preserving smoothing, single image haze removal.

    摘要

            局部边缘保持平滑技术如导图滤波(GIF)和加权导图滤波(WGIF)不能保持精细结构。本文提出了一种新的全局引导图像滤波算法,该算法由全局结构转移滤波器和全局保持边缘平滑滤波器组成,将该滤波器应用于单幅图像的去雾处理。实验结果表明,提出的G-GIF图像确实能较好地保留去噪后的图像的精细结构,且去噪后的图像比现有的GIF去噪图像更清晰。

    索引项——全局引导图像滤波,结构转换,边缘保持平滑,单幅图像去雾。

     

    Introduction

            物体检测和识别等视觉活动的执行在很大程度上依赖于对室外自然景观的感知。不幸的是,户外场景的图像往往在恶劣的天气条件下退化,如雾霾、雾、烟、雨等。光线与大气粒子从其他方向反射到视线的环境光混合在一起。摄像机从场景点接收到的辐照度沿视线方向衰减。因此,在恶劣天气条件下拍摄的物体,对比度低,颜色暗淡,亮度变化较大。去除雾霾可以显著增加物体的对比度,纠正光线造成的色彩失真。因此,去除雾霾是图像处理和计算机视觉应用的迫切需要。

            由于其广泛的应用,人们提出了许多单图像去雾算法。根据观察,无雾图像比有雾图像对比度高,提出了一种单图像去雾算法,该算法利用马尔可夫随机场使恢复图像的局部对比度最大。虽然[3]中的算法能够获得视觉上引人注目的结果,但它往往会产生可能在物理上无效的过度饱和图像。在[4]中,Fattal通过一个同时考虑了表面阴影和场景传输的图像形成模型来解释雾霾图像。假设传输和表面阴影局部不相关,解决了大气光反照模糊问题。除了在严重雾霾的情况下,[4]中的算法取得了很好的结果。受广泛应用的暗目标差分技术[5]的启发,[6]和[7]提出了一种新的基于暗通道先验的去雾算法。暗通道先验是基于这样一种观察,即室外无雾图像的某些像素在至少一种颜色(RGB)通道中具有非常低的强度。该算法在物理上是有效的,可以处理远处的物体,即使是在有严重雾霾的图像中。然而,即使在[6]和[7]的传输图中引入了一个下界,包括天空在内的明亮区域的噪声会被放大。通过观察,在阴霾和亮度同时增加的影响下,场景的颜色变淡导致高值的差异,因此[8]提出一种简单的颜色衰减先验,并建立线性模型来表示深度、亮度、之前的饱和度之间的关系,最后利用线性模型设计了一种基于[7]中引导图像滤波(GIF)的单幅图像去雾算法。

    展开全文
  • 图像引导滤波

    2018-05-21 20:48:35
    本资源为何凯明博士2010年在ECCV 发表的引导滤波的论文,附有MATLAB源码以及所用到的图片。
  •  双边滤波很有名,使用广泛,简单的说就是一种同时考虑了像素空间差异与强度差异的滤波器,因此具有保持图像边缘的特性。 先看看我们熟悉的高斯滤波器  其中W是权重,i和j是像素索引,K是归一化常量。

     为了等快遗忘时候再复习一遍,感谢大神总结:http://blog.csdn.net/pi9nc/article/details/26592377

    双边滤波

            双边滤波很有名,使用广泛,简单的说就是一种同时考虑了像素空间差异与强度差异的滤波器,因此具有保持图像边缘的特性。

    先看看我们熟悉的高斯滤波器


           其中W是权重,i和j是像素索引,K是归一化常量。公式中可以看出,权重只和像素之间的空间距离有关系,无论图像的内容是什么,都有相同的滤波效果。

           再来看看双边滤波器,它只是在原有高斯函数的基础上加了一项,如下


            其中 I 是像素的强度值,所以在强度差距大的地方(边缘),权重会减小,滤波效应也就变小。总体而言,在像素强度变换不大的区域,双边滤波有类似于高斯滤波的效果,而在图像边缘等强度梯度较大的地方,可以保持梯度。


    引导滤波

            引导滤波是近三年才出现的滤波技术,知道的人还不多。它与双边滤波最大的相似之处,就是同样具有保持边缘特性。在引导滤波的定义中,用到了局部线性模型,至于该模型,可以暂时用下图简单的理解


             该模型认为,某函数上一点与其邻近部分的点成线性关系,一个复杂的函数就可以用很多局部的线性函数来表示,当需要求该函数上某一点的值时,只需计算所有包含该点的线性函数的值并做平均即可。这种模型,在表示非解析函数上,非常有用。

             同理,我们可以认为图像是一个二维函数,而且没法写出解析表达式,因此我们假设该函数的输出与输入在一个二维窗口内满足线性关系,如下


            其中,q是输出像素的值,I是输入图像的值,i和k是像素索引,a和b是当窗口中心位于k时该线性函数的系数。其实,输入图像不一定是待滤波的图像本身,也可以是其他图像即引导图像,这也是为何称为引导滤波的原因。对上式两边取梯度,可以得到


           即当输入图像I有梯度时,输出q也有类似的梯度,现在可以解释为什么引导滤波有边缘保持特性了。

          下一步是求出线性函数的系数,也就是线性回归,即希望拟合函数的输出值与真实值p之间的差距最小,也就是让下式最小


            这里p只能是待滤波图像,并不像I那样可以是其他图像。同时,a之前的系数(以后都写为e)用于防止求得的a过大,也是调节滤波器滤波效果的重要参数。通过最小二乘法,我们可以得到


            其中,是I在窗口w_k中的平均值,是I在窗口w_k中的方差,是窗口w_k中像素的数量,是待滤波图像p在窗口w_k中的均值。

            在计算每个窗口的线性系数时,我们可以发现一个像素会被多个窗口包含,也就是说,每个像素都由多个线性函数所描述。因此,如之前所说,要具体求某一点的输出值时,只需将所有包含该点的线性函数值平均即可,如下


    这里,w_k是所有包含像素i的窗口,k是其中心位置。

            当把引导滤波用作边缘保持滤波器时,往往有 I = p ,如果e=0,显然a=1, b=0是E(a,b)为最小值的解,从上式可以看出,这时的滤波器没有任何作用,将输入原封不动的输出。如果e>0,在像素强度变化小的区域(或单色区域),有a近似于(或等于)0,而b近似于(或等于),即做了一个加权均值滤波;而在变化大的区域,a近似于1,b近似于0,对图像的滤波效果很弱,有助于保持边缘。而e的作用就是界定什么是变化大,什么是变化小。在窗口大小不变的情况下,随着e的增大,滤波效果越明显。

            在滤波效果上,引导滤波和双边滤波差不多,在一些细节上,引导滤波较好。引导滤波最大的优势在于,可以写出时间复杂度与窗口大小无关的算法(打算在之后的文章中讨论),因此在使用大窗口处理图片时,其效率更高。

    展开全文
  • 图像引导滤波 HE

    2017-11-09 14:40:43
    图像引导滤波,通过频域上的处理,从而增强图片,利于处理。用于mura缺陷检测有效。
  • 引导均值滤波 %% guided_filtering.m %功能:引导均值滤波 clc; close all; % 图像输入 I = imread('t3.bmp'); [R, C] = size(I); figure(1), imshow(I), title('原图'); % CLAHE I_clahe = adapthisteq(I); ...

    引导均值滤波

    %% guided_filtering.m
    %功能:引导均值滤波
    
    clc;
    close all;
    
    % 图像输入
    I = imread('t3.bmp');
    [R, C] = size(I);
    figure(1), imshow(I), title('原图');
    
    % CLAHE
    I_clahe = adapthisteq(I);
    figure(2), imshow(I_clahe), title('clahe-限制对比度自适应直方图均衡化-默认参数');
    
    % 滤波
    filter = fspecial('disk',3); 
    I_disk = imfilter(I_clahe, filter, 'replicate');
    figure(3), imshow(I_disk), title('滤波');
    
    % 边缘检测
    [I_edge, value]= edge(I_disk, 'canny');
    figure(4), imshow(I_edge), title('边缘检测');
    
    % 均值滤波
    N = 3;%均值模块尺寸(奇数)
    E = (N - 1) / 2;%均值模块加减值
    I_aver = I_clahe;
    % 图像遍历
    for i = (1 + E) : (R - E)
        for j = (1 + E) : (C - E)
            sum = 0.0;%模块求和
            flag_edge = 0;%边缘标志
            %模板遍历
            for m = (i - E) : (i + E)
                for n = (j - E) : (j + E)
                    if(I_edge(m, n) == 1)%边缘处,边缘标志置一
                        flag_edge = 1;
                    end
                    sum = sum + double(I_clahe(m, n));%模板求和
                end
            end
            if(flag_edge)%边缘处,不滤波
                I_aver(i, j) = I_clahe(i, j);
            else%非边缘处,滤波
                I_aver(i, j) = uint8(sum / double(N * N));
            end
        end
    end
    figure(5), imshow(I_aver), title('均值滤波');
    
    展开全文
  • 图像滤波算法之guide filter导向滤波

    千次阅读 2016-06-15 14:15:24
    引导滤波算法原理:图像引导滤波是一个线性移可变的滤波过程,包括引导图像I,输入图像P,和输出图像q。其中引导图像I是需要根据具体应用事先设定的,也可以直接取为输入图像P。对于输出图像中第i个像素而言,其计算...
  • 这是基于引导滤波图像融合matlab源码。下载解压后直接运行。
  • 瞎搞系列-图像引导滤波

    千次阅读 2018-03-13 16:21:38
    瞎搞系列-图像的引导滤波一、原理:引导滤波是一个线性可变得滤波过程,包括引导图像I,输入图像p和输出图像q。其中引导图像I是需要实现设定的,也可以直接取输入图像p。引导滤波与双边滤波最大的相似之处,就是具有...
  • 上一篇文章已经说了引导滤波的基本理论,而且我们也知道引导滤波可以写出时间复杂度与窗口大小无关的算法,现在就来使用C++并借助OpenCV实现这一算法。  实现这种算法的关键思想是盒式滤波(box filter),而且...
  • guided-filter引导滤波进行图像处理,通过引导滤波,利用已存在的图像进行图像复原
  • 基于距离选通的激光成像受激光脉冲能量、距离...研究结果表明:采用引导滤波结合双边滤波的二维图像预处理得到的三维重建结果,在保证距离精度的同时,在边缘信息、结构信息的增强,以及图像的均匀度提升等方面具有优势。
  • 利用基于LoG算子的引导滤波进行代价聚合,使惩戒参数能够随图像中的不同纹理区域进行自适应调整。使用赢者通吃(WTA)策略计算视差,并采用二次插值法得到最终的视差图。对Middlebury平台中的图像进行测试,结果...
  • 基于引导滤波的单幅图像去雾研究
  • 因此,出现一批研究保存边缘的滤波算法:引导滤波、滚动导向滤波、L0稀疏约束滤波。保持边缘的滤波算法基本上可以为双边滤波算法思想的延伸,下面会对各个算法进行简要概述。图像中边缘主要分为弱边缘与强边缘区域:...
  • 引导图滤波器是一种自适应权重滤波器,能够在平滑图像的同时起... 引导图滤波作为一种线性滤波器,可以简单定义为如下形式:其中I是引导图像(guided Image),P是输入的待滤波图像,Q是滤波后的输出图像,W是根据引导图.
  • 引导滤波

    千次阅读 2018-01-23 17:27:15
    引导滤波:即需要引导图的滤波器,引导图可以是单独的图像或者是输入图像,当引导图为输入图像时,引导滤波就成为一个保持边缘的滤波操作,可以用于图像重建的滤波引导滤波的流程见下图: 假设输入...
  • 中值滤波、双边滤波引导滤波
  • 基于引导滤波图像分层处理技术,对不同层的信息进行分层处理,获取不同的信息,然后用合并,得到最后结果,可进行图像增强算法的分层等
  • 引导滤波(导向滤波)是一种图像滤波技术,通过一张引导图,对初始图象(输入图像)进行滤波处理,使得最后的输出图像大体上与初始图象相似,但是,纹理部分与引导图相似。其典型应用有两个:保边图像平滑,抠图。 ...
  • 针对基于引导滤波的指静脉图像增强算法不能突出静脉纹理细节信息的问题, 提出了基于边缘检测加权引导滤波算法。通过计算指静脉图像的边缘算子幅值, 对引导滤波中固定的规整化因子进行惩罚, 分别得到了静脉纹理区域和...
  • 导向滤波+图像去雾

    千次阅读 2018-10-22 11:07:12
    Guided Image Filtering --引导图像滤波 解析+图像去雾应用 图像增强处理之:同态滤波与Retinex算法(一)同态滤波

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 290
精华内容 116
关键字:

引导图像滤波