精华内容
下载资源
问答
  • 图像平滑和锐化

    2013-11-03 22:15:23
    本资源采用vc6.0实现,无需配置任何其他东西便可运行(内附原图)。实现了位图读取、平滑、RobertsLaplacian等的锐化
  • 锐化处理技术来加强图像的目标边界和图像细节。...图像平滑主要目的是减少噪声对图像影响。噪声有很多种类,不同的噪声有不同的抑制措施。用平滑线性滤波中值滤波两种最典型、最常用的处理算法进行程序设计。
  • 分别采用RGB模型HIS模型对图像imageLane.bmp进行平滑和锐化,并比较两种模型处理后结果是否相同(两种模型处理后的图像相减)。
  • 图像处理-平滑和锐化

    万次阅读 2015-03-02 16:07:31
    图像平滑锐化(转)" alt="数字图像处理学习笔记1- 图像平滑锐化(转)" src="http://s10.sinaimg.cn/middle/6c083cdd495b316784ce9&690"> 可以看到,图2 比图1 柔和一些(也模糊一些)。是不是觉得很神奇?...

    1.平滑(smoothing)
    先举个例子说明一下什么是平滑,如下图所示:

    数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)

    可以看到,图2 比图1 柔和一些(也模糊一些)。是不是觉得很神奇?其实实现起来很简单。我们将原图中
    的每一点的灰度和它周围八个点的灰度相加,然后除以9,作为新图中对应点的灰度,就能实现上面的效
    果。这么做并非瞎蒙,而是有其道理的。大概想一想,也很容易明白。举个例子,就象和面一样,先在中
    间加点水,然后不断把周围的面和进来,搅拌几次,面就均匀了。
    用信号处理的理论来解释,这种做法实现的是一种简单的低通滤波器(low pass filter)。在灰度连续变化
    的图象中,如果出现了与相邻像素的灰度相差很大的点,比如说一片暗区中突然出现了一个亮点,人眼能
    很容易觉察到。就象看老电影时,由于胶片太旧,屏幕上经常会出现一些亮斑。这种情况被认为是一种噪
    声。灰度突变在频域中代表了一种高频分量,低通滤波器的作用就是滤掉高频分量,从而达到减少图象噪
    声的目的。
    为了方便的叙述上面所说的"将原图中的每一点的灰度和它周围八个点的灰度相加,然后除以9,作为新图
    中对应点的灰度"这一操作,我们用如下的表示方法:
    数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)
    这种表示方法有点象矩阵,我们称其为模板(template)。中间的黑点表示中心元素(此处用*表示),即,用哪
    个元素做为处理后的元素。例如(2* 1)表示将自身的2 倍加上右边的元素作为新值,而(2 1*)表示将自身加
    上左边元素的2 倍作为新值。通常,模板不允许移出边界,所以结果图象会比原图小,例如模板数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)
    原图是数字图像处理学习笔记1- <wbr>图像平滑,锐化(转),经过模板操作以后的图像为数字图像处理学习笔记1- <wbr>图像平滑,锐化(转),数字代表灰度,x表示边界上无法进行模板操作的点,通常的做法是复制原图的灰度,不进行任何处理。
    模板操作实现了一种邻域运算(Neighborhood Operation),即,某个像素点的结果不仅和本像素灰度有关,
    而且和其邻域点的值有关。在以后介绍的细化算法中,我们还将接触到邻域运算。模板运算的数学涵义是
    一种卷积(或互相关)运算,你不需要知道卷积的确切概念,有这么一个概念就可以了。

    模板运算在图象处理中经常要用到,可以看出,它是一项非常耗时的运算,以数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)为例,每个像素完成一次模板操作要用9个乘法,8个加法,1个除法。对于一幅N*N(宽度*高度)的图象,就是9N^2个乘法,8N^2个加法和N^2个除法,算法复杂度为 O(N^2),这对于大图象来说,是非常可怕的。所以,一般常用的模板并不大,如3*3,4*4。有很多专用的图象处理系统,用硬件来完成模板运算,大大提高了速度。另外,可以设法将2维模板运算转换成1维模板运算,对速度的提高也是非常可观的。例如,(2)式可以分解成一个水平模板和一个竖直模板,即,数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)

    我们来验证一下,设图像为数字图像处理学习笔记1- <wbr>图像平滑,锐化(转),经过(3.2)式处理以后变为数字图像处理学习笔记1- <wbr>图像平滑,锐化(转),经过2.1处理以后结果相同,如果计算时不考虑周围一圈的像素,前者做了4*(9个乘法,8个加法,1个除法),共36个乘法,32个加法,4个除法;后者做了4*(3个乘法,2个加法)+4*(3个乘法,2个加法)+4个除法,共24个乘法,16个加法,4个除法,运算简化了不少,如果是大图,效率的提高将是非常客观的。

    平滑模板的思想是通过一点和周围8个点的平均来去除突然变化的点,从而滤掉一定的噪声,其代价是图象有一定程度的模糊。上面提到的模板(1),就是一种平滑模板,称之为Box模板。Box模板虽然考虑了邻域点的作用,但并没有考虑各点位置的影响,对于所有的9个点都一视同仁,所以平滑的效果并不理想。实际上我们可以想象,离某点越近的点对该点的影响应该越大,为此,我们引入了加权系数,将原来的模板改造为:

    数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)
    可以看出,距离越近的点,加权系数越大。新的模板其实也是一个常用的平滑模板,称为高斯(Gauss)模板。为什么叫这个名字,这是因为这个模板是通过采样2维高斯函数得到的。

    下图中,从左到右分别是原图,经过高斯模板处理的图,和经过BOX模板处理的图。可以看出,采用高斯模板在平滑处理的过程中,效果要比Box模板清晰一些。

    数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)

    2.中值滤波
    中值滤波也是一种典型的低通滤波器,它的目的是保护图象边缘的同时去除噪声。所谓中值滤波,就是指把以某点(x,y)为中心的小窗口内的所有像素的灰度按从大到小的顺序排列,将中间值作为(x,y)处的灰度值(若窗口中有偶数个像素,则取两个中间值的平均)。中值滤波是如何去除噪声的呢?举个例子就很容易明白了。

    数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)

    上图中左边是原图,数字代表该处的灰度。可以看出中间的6和周围的灰度相差很大,是一个噪声点。经过3*1窗口(即水平3个像素取中间值)的中值滤波,得到右边那幅图,可以看出,噪声点被去除了。拿中值滤波和上面介绍的两种平滑模板做个比较,看看中值滤波有什么特点。

    1.中值滤波的特点是保护图象边缘的同时去除噪声。

    我们以一维模板为例,只考虑水平方向,大小为3*1(宽*高)。Box模板为数字图像处理学习笔记1- <wbr>图像平滑,锐化(转);Gauss模板为数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)
    结果如下所示:

    数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)

                    数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)

    2.中值滤波对高斯噪声无效,高斯模板对高斯噪声非常有效。

                 数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)

    3.中值滤波对脉冲噪声非常有效。

                 数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)

    总结:中值滤波容易去除孤立点,线的噪声同时保持图象的边缘,它能很好的去除二值噪声,但对高斯噪声无能为力。要注意的是,当窗口内噪声点的个数大于窗口宽度的一半时,中值滤波的效果不好。这是很显然的。

    3.锐化

    锐化和平滑恰恰相反,它是通过增强高频分量来减少图象中的模糊,因此又称为高通滤波(high pass filter)。锐化处理在增强图象边缘的同时增加了图象的噪声。常用的锐化模板是拉普拉斯(Laplacian)模板。

                                        数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)

    容易看出拉普拉斯模板的含义,先将自身与周围的8个像素相减,表示自身与周围像素的差别,再将这个差别加上自身作为新像素的灰度。可见,如果一片暗区出现了一个亮点,那么锐化处理的结果是这个亮点变得更亮,增加了图象的噪声.

    图1经过拉普拉斯模板处理后,如图4所示:

    数字图像处理学习笔记1- <wbr>图像平滑,锐化(转)

    展开全文
  • matlab 图像平滑和锐化

    万次阅读 2016-11-21 22:54:39
    1.读入一幅图像,分别采用均值高斯滤波器对图像进行平滑处理>> clear all; >> sample = imread('sample.jpg'); >> mean3Sample = filter2(fspecial('average',3),sample)/255; >> mean5Sample = filter2(fspecial...

    1.读入一幅图像,分别采用均值和高斯滤波器对图像进行平滑处理

    >> clear all;
    >> sample = imread('sample.jpg');
    >> mean3Sample = filter2(fspecial('average',3),sample)/255;
    >> mean5Sample = filter2(fspecial('average',5),sample)/255;
    >> mean7Sample = filter2(fspecial('average',7),sample)/255;
    >> gaussianSample = filter2(fspecial('gaussian'),sample)/255;

    2.使用’subplot’命令,将原始图像,平滑处理后的图像同时显示出来

    >> subplot(2,2,1);
    >> imshow(sample); %原始图像
    >> subplot(2,2,2);
    >> imshow(mean7Sample); %采用均值进行平滑处理
    >> subplot(2,2,3);
    >> imshow(sample); %原始图像
    >> subplot(2,2,4);
    >> imshow(gaussianSample); %高斯滤波器进行平滑处理

    3.分别采用’prewitt’和’sobel’边缘算子对图像做边缘增强处理,并显示边缘处理后的图像

    %采用’prewitt’算子:
    >> prewittSample = uint8(filter2(fspecial('prewitt'),sample));
    >> imshow(prewittSample);
    %采用’ sobel’算子:
    >> sobelSample = uint8(filter2(fspecial('sobel'),sample));
    >> imshow(sobelSample);

    4.采用“原图*2-平滑图像”,以及“原图+边缘处理图像”的方法锐化图像

    %采用“原图*2-平滑图像”方法:
    >> subSample = sample.*2 - uint8(mean7Sample);
    >> imshow(subSample);
    %采用“原图+边缘处理图像”方法
    >> addSample = sample + uint8(prewittSample);
    >> imshow(addSample);
    展开全文
  • 有关图像平医学成像及图像处理在生命科学研究、医学诊断、临床治疗等方面起着重要的作用,X射线、CT、MRI的发现或发明者获得诺贝尔奖,就是其重要价值的印证。 医学成像及图像处理设备...滑图像锐化图像增强图像分割等
  • c++的数字图像平滑和锐化处理

    热门讨论 2009-05-31 17:49:53
    数字图像的c++处理程序 其中使用的c++进行简单的数字图像平滑和锐化处理,改善图像效果。
  • 利用matlab编写的图像平滑锐化程序,包括:'均值滤波','中值滤波','罗伯特梯度','Prewitt算法','Sobel梯度','Laplace算子','Laplace算子扩展模板','方向算子'
  • 图像平滑锐化

    2013-10-24 12:26:04
    图像平滑锐化处理,可用拉普拉斯锐化,门限梯度锐化,平滑处理可选模板大小,以及线性滤波、均值滤波等方式
  • 图像平滑和锐化的原理及实现,如果做图像增强,这些应该有用
  • im8=Laplace_suanzi(img) plt.title("Lap") plt.imshow(im8)
  • 图像平滑锐化

    2014-05-21 15:47:29
    主要是matlab下的图像哦樱花与锐化的实现
  • 图像平滑锐化 图像金字塔 形态学运算 查找表 */ #include #include using namespace cv; using namespace std; int main() { Mat img_org = imread("D://图片//4.jpg"); if (img_org.empty()) { cout 图片...
    /*
    图像平滑,锐化
    图像金字塔
    形态学运算
    查找表
    */
    #include<opencv2\opencv.hpp>
    #include<iostream>
    using namespace cv;
    using namespace std;
    
    int main() {
    	Mat img_org = imread("D://图片//4.jpg");
    
    	if (img_org.empty()) {
    		cout << "图片加载失败!" << endl;
    		return -1;
    	}
    	Mat img1, img2, img3, img5;                       //平滑操作
    	boxFilter(img_org, img1, -1, Size(9, 9));   //盒式滤波
    	GaussianBlur(img_org, img2, Size(9, 9), 0, 0);   //高斯滤波
    	medianBlur(img_org, img3, 9);    //中值滤波
    	//bilateralFilter(img_org, img5, 5, 8, 8);    //与高斯滤波相似
    
    	Mat im1, im2, im3;                //锐化操作
    	Sobel(img_org, im1, -1, 1, 1);
    	Laplacian(img_org, im3, CV_8UC3);   
    
    	Mat ig1, ig2, ig3;       //金字塔
    	pyrDown(img_org, ig1);     //pyrUp是pyrDown的反运算,但是不能获取原始图像
    	pyrDown(ig1, ig2);
    	pyrUp(ig2, ig3);
    
    	Mat tem, tem1, tem2;
    	inRange(img_org, Scalar(0, 0, 0), Scalar(255, 150, 255), tem);      //保留颜色范围
    	Mat element = getStructuringElement(MORPH_ELLIPSE, Size(16, 18));
    	dilate(tem, tem1, element);    //膨胀
    	erode(tem1, tem2, element);             //腐蚀
    
    	uchar *M = new uchar[256];          //查找表
    	for (int i = 0; i < 256; i++) {
    		M[i] = i*0.5;
    	}
    	Mat lut(1, 256, CV_8UC3, M);
    	Mat result;
    	LUT(img_org, lut, result);
    
    	imshow("img1", img1);
    	imshow("img2", img2);
    	imshow("img3", img3);
    	//imshow("img5", img5);
    
    	imshow("im1", im1);
    	imshow("im3", im3);
    
    	imshow("ig1", ig1);
    	imshow("ig2", ig2);
    	imshow("ig3", ig3);
    
    	imshow("tem1", tem1);
    	imshow("tem2", tem2);
    
    	imshow("result", result);
    
    	delete[]M;
    
    	waitKey(0);
    	destroyAllWindows;
    
    	return 0;
    }

    运行结果:


    展开全文
  • 本文介绍了一种实现图像平滑和锐化的原理,并在VisualBasic编程环境中给出实现。
  • 空间域滤波:图像平滑和锐化

    万次阅读 2015-11-26 21:05:11
    (1)自定义一个空间域平滑滤波函数,以达到滤除指定类型噪声(如高斯噪声椒盐噪声等)的目的,该函数的输入参数包括滤波器类型filter_type (如高斯均值滤波、中值滤波、最大/小值滤波等)、处理前的图像ima(实验...

    (1)自定义一个空间域平滑滤波函数,以达到滤除指定类型噪声(如高斯噪声和椒盐噪声等)目的,该函数的输入参数包括滤波器类型filter_type (高斯均值滤波、中值滤波、最大/小值滤波等)、处理前的图像ima(实验图像文件名为EXP4-1.jpg和EXP4-2.jpg)以及滤波器尺寸filter_size输出参数为滤波处理后的图像im2

    EXP4-1.jpg


    EXP4-2.jpg


    自定义的滤波函数:

    定义一个空间域平滑滤波函数 mySpatialFilter,该函数包含滤波器类型有3x3的高斯均值滤波器、中值滤波器、最大值滤波器以及最小值滤波器。

    %pho 表示输入图像的名称
    %filter_type 所选择的滤波器类型。有:高斯均值滤波器、中值滤波器、最大值滤波器、最小值滤波器
    %filter_size 定义滤波器大小,如 filter_size=[3 3];
    function ima2 = mySpatialFilter(pho, filter_type, filter_size)
    ima=imread(pho); %根据路径读取原图像
    ima=double(ima); %转化为双精度类型
    [r c]=size(ima); %读取原图像的行数和列数
     
    if strcmp(filter_type, '高斯均值滤波器')
        filter_size=[3 3];
    end
    m=filter_size(1); %读取设置的滤波器模板的大小
    n=filter_size(2);
     
    rs=r+m-1; %计算边界填充后的图像大小(填充模板大小)
    cs=c+n-1;
    tIma=zeros(rs,cs); %创建一个边界填充后的矩阵
    tIma((m-1)/2+1:rs-(m-1)/2, (n-1)/2+1:cs-(n-1)/2)=ima; %矩阵中间填充原图像灰度级
     
    %以最邻近的边界作为边界填充的灰度值
    %先填充上边界
    for i=1:(m-1)/2
        tIma(i,(n-1)/2+1:cs-(n-1)/2)=ima(1);
    end
    %填充下边界
    for i=rs-(m-1)/2+1:rs
        tIma(i,(n-1)/2+1:cs-(n-1)/2)=ima(r);
    end
    %填充左边界
    for i=1:(n-1)/2
        tIma(:,i)=tIma(:,(n-1)/2+1);
    end
    %填充右边界
    for i=cs-(n-1)/2+1:cs
        tIma(:,i)=tIma(:,cs-(n-1)/2);
    end
     
    rIma=zeros(rs,cs);
    %遍历该矩阵,套用滤波模板
    for i=1:rs-m+1
        for j=1:cs-n+1
            %读取模板覆盖处的图像
            tempIma=tIma(i:i+m-1, j:j+n-1);
            %计算该模板覆盖的中心位置
            centerR=i+(m-1)/2;
            centerC=j+(m-1)/2;
            switch filter_type
                case '高斯均值滤波器'
                    %定义3 x 3的高斯均值滤波器模板
                    module=[1 2 1; 2 4 2; 1 2 1];
                    module=module(:)';
                    %为邻域以该模板为系数进行加权求平均,得出的值赋值得邻域中心
                    rIma(centerR,centerC)=module*tempIma(:)/sum(module);
                case '中值滤波器'
                    %为邻域内的值排序,求得中值,将该值赋值给邻域中心
                    tempIma=sort(tempIma(:));
                    rIma(centerR,centerC)=tempIma((length(tempIma)+1)/2,1);
                case '最大值滤波器'
                    %求邻域中的最大灰度值,将该值赋值给邻域中心
                    rIma(centerR,centerC)=max(tempIma(:));
                case '最小值滤波器'
                    %求邻域中的最小灰度值,将该值赋值给邻域中心
                    rIma(centerR,centerC)=min(tempIma(:));
                otherwise
                    error('不存在该滤波器');
            end
        end
    end
    %去除原先填充的边界,得出最终结果
    ima2=rIma((m-1)/2+1:rs-(m-1)/2, (n-1)/2+1:cs-(n-1)/2);
    ima2=uint8(ima2);

    定义一个使用各种滤波器对输入图像 EXP4-1.jpg 进行处理的函数 useMySpatialFilter1,输出结果。

    function useMySpatialFilter1()
    %读取 EXP4-1.jpg图像,进行显示
    ima1=imread('EXP4-1.jpg');
    subplot(151);
    imshow(ima1);
    title('输入图像 EXP4-1.jpg');
     
    filter_size=[3 3]; %定义滤波器的大小为 3x3
    type={'高斯均值滤波器' '中值滤波器' '最大值滤波器' '最小值滤波器'};
    tit={'3x3 高斯均值滤波器' '3x3 中值滤波器' '3x3 最大值滤波器' '3x3 最小值滤波器'};
    %运用各种滤波器,输出结果进行显示
    for i=1:4
        ima2=mySpatialFilter('EXP4-1.jpg',type{i}, filter_size);
        subplot(1,5,i+1);
        imshow(ima2);
        title(tit(i));
    end

    输出结果如下:



    结果分析:从输入图像中我们可以看出输入图像受椒盐噪声的干扰,那么在大小3x3的邻域中,椒盐噪声体现为邻域中的最大灰度值和最小灰度值。使用中值滤波器可以滤除最大灰度值和最小灰度值,以达到去除椒盐噪声的结果。这时使用高斯均值滤波器的效果就没有比中值滤波器的效果明显。因为高斯均值使用的是不同系数加权,即可能出现椒盐噪声处处于邻域中的最大权重,使得椒盐噪声有所加强。而最大值滤波器突出显示了邻域中灰度值最大部分,尤其突出了盐粒噪声,出现更多白点。最小值滤波器突出显示了邻域中灰度值最小部分,尤其突出了胡椒噪声,出现更多黑点。

    定义一个使用各种滤波器对输入图像 EXP4-2.jpg 进行处理的函数 useMySpatialFilter2,输出结果。

    function useMySpatialFilter2()
    %读取 EXP4-2.jpg图像,进行显示
    ima3=imread('EXP4-2.jpg');
    subplot(151);
    imshow(ima3);
    title('输入图像 EXP4-2.jpg');
     
    filter_size=[3 3];%定义滤波器的大小为 3x3
    type={'高斯均值滤波器' '中值滤波器' '最大值滤波器' '最小值滤波器'};
    tit={'3x3 高斯均值滤波器' '3x3 中值滤波器' '3x3 最大值滤波器' '3x3 最小值滤波器'};
    %运用各种滤波器,输出结果进行显示
    for i=1:4
        ima2=mySpatialFilter('EXP4-2.jpg',type{i}, filter_size);
        subplot(1,5,i+1);
        imshow(ima2);
        title(tit(i));
    end

    输出结果如下:


    结果分析:输入图像受高斯噪声的影响,此时使用高斯均值滤波器和使用中值滤波器的处理效果相差不大。


    (2)自定义一个空间域微分滤波器,要求该滤波器采用Sobel梯度算子获取输入图像的梯度图像,该滤波函数的输入参数为处理前的图像ima(实验图像文件名为EXP4-3.tif),输出参数为输入图像的梯度图像im2。

    定义一个空间域微分滤波器,使用Sobel梯度算子获取输入图像的梯度图像。

    mySobelGradCal

    %mySobelGradCal函数使用Sobel梯度算子作为微分滤波器模板,对输入图像进行锐化操作
    %参数 pho 表示输入图像的路径,如 EXP4-3.tif
    function grad2=mySobelGradCal(pho)
    ima=imread(pho); %读取输入图像
    ima=double(ima); %转化为双精度类型对图像进行操作
    [r c]=size(ima); %获取输入的图像的行数和列数
    m=3; %Sobel梯度算子的梯度模板大小(行)
    n=3; %Sobel梯度算子的梯度模板大小(列)
    %边界填充后的大小
    rs=r+m-1;
    cs=c+n-1;
    %创建边界填充的矩阵
    tIma=zeros(rs,cs);
    %将输入图像填充在该矩阵的中心
    tIma((m-1)/2+1:rs-(m-1)/2,(n-1)/2+1:cs-(n-1)/2)=ima;
     
    for i=1:(m-1)/2
        %为矩阵填充下边界,根据输入图像的下边界进行填充
        tIma(i,(n-1)/2+1:cs-(n-1)/2)=ima(1,:);
        %为矩阵填充上边界,根据输入图像的上边界进行填充
        tIma(rs-i-1,(n-1)/2+1:cs-(n-1)/2)=ima(r,:);
    end
     
    for i=1:(n-1)/2
        %为矩阵填充左边界,根据矩阵已填充的左边一列进行填充
        tIma(:,i)=tIma(:,(n-1)/2+1);
        %为矩阵填充右边界,根据矩阵已填充的右边一列进行填充
        tIma(:,cs-i-1)=tIma(:,cs-(n-1)/2);
    end
     
    grad2=zeros(rs,cs);
    %以可以让Sobel梯度模板覆盖tIma对tIma进行遍历
    for i=1:rs-m+1
        for j=1:cs-n+1
            %取出当前被梯度模板覆盖的区域(灰度值)——邻域
            tempIma=tIma(i:i+m-1,j:j+n-1);
            %求邻域的中心
            centerR=i+(m-1)/2;
            centerC=j+(n-1)/2;
            %使用Sobel梯度算子进行计算
            x=abs(sum([tempIma(3,:) tempIma(3,2)])-sum([tempIma(1,:) tempIma(1,2)]));
            y=abs(sum([tempIma(:,3); tempIma(2,3)])-sum([tempIma(:,1); tempIma(2,1)]));
            grad2(centerR,centerC)=x+y;
        end
    end
    %截取出grad2中中心部分即为输出结果
    grad2=grad2((m-1)/2+1:rs-(m-1)/2,(n-1)/2+1:cs-(n-1)/2);
    grad2=uint8(grad2);        

    useMySobelGradCal

    %useMySobelGradCal函数显示输入图像和对输入图像应用mySobelGradCal函数后所得图像
    %参数pho 表示输入图像的路径,如 EXP4-3.tif
    function []=useMySobelGradCal(pho)
    %读取输入图像
    ima1=imread(pho);
    %显示输入图像
    subplot(121);
    imshow(ima1);
    title('输入图像');
     
    %对输入图像应用mySobelGradCal函数得到Sobel梯度图像
    ima2=mySobelGradCal(pho);
    %显示Sobel梯度图像
    subplot(122);
    imshow(ima2);
    title('Sobel梯度图像');

    输出结果如下:


    需要注意的是:上述的输入图像是受噪声污染的图像,所以在使用微分滤波器前,可以先使用此前设计的滤波器合理地处理一下图像,再进行微分滤波器的处理。

    展开全文
  • 数字图像处理-图像平滑和锐化

    千次阅读 2017-04-24 13:08:47
    图像平滑和锐化是两个相反的过程。 吃完饭再来写注释。。。rice=imread('rice.png');//打开照片。 BW=rice;//得到矩阵 G=imnoise(BW,'gaussian');//给bw矩阵添加高斯噪声。 subplot(1,3,1);/设置2*2的单元格,...
  • 前面已经介绍过灰度图像平滑和锐化,下面使用均值平滑和拉普拉斯锐化处理彩色图像平滑结果: 平滑差异和锐化结果 代码实现: #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,037
精华内容 2,414
关键字:

平滑和锐化对图像的影响