实验平均梯度与图像的模糊程度(matlab 代码)
2018-03-08 22:06
1831 查看
参考:
http://blog.csdn.net/u013165921/article/details/78156202
平均梯度就是一幅图像的梯度图上所有点的均值。它反映了图像中的微小细节反差和纹理变化特征,同时也能反映出图像的清晰度。一般来说平均梯度越大,图像层次也就越丰富,变化就越多,图像也就越清晰。所以我们可以把平均梯度当做一系列模糊程度的评价标准。下面就用实验验证上面的话是否正确。
http://blog.csdn.net/u013165921/article/details/78156202
平均梯度就是一幅图像的梯度图上所有点的均值。它反映了图像中的微小细节反差和纹理变化特征,同时也能反映出图像的清晰度。一般来说平均梯度越大,图像层次也就越丰富,变化就越多,图像也就越清晰。所以我们可以把平均梯度当做一系列模糊程度的评价标准。下面就用实验验证上面的话是否正确。
matlab代码
以下是求整幅图像的平均梯度强度,当然也可以比较某一区域的强度,主要是比较某一区域并不清楚要选哪一块进行说明,索性直接用整幅图像。clc; clear; close all; img = imread('images/lena.jpg'); img = im2double(img); [~,~,imxy] = my_gradient(img); % figure;imshow(imxy,[]);title('图像梯度'); % 求原图的平均梯度 s1 = mean(imxy(:)); % 求1次高斯模糊后图像的平均梯度 f1 = fspecial('gaussian',5,1); img1 =imfilter(img,f1,'replicate'); %my_gradient是用来求梯度的 [~,~,imxy] = my_gradient(img1); s2 = mean(imxy(:)); figure;imshow(img1);title('一次高斯模糊'); % 求2次高斯模糊后图像的平均梯度 f2 = fspecial('gaussian',5< 4000 /span>,1); img2 =imfilter(img1,f2,'replicate'); [imx,imy,imxy] = my_gradient(img2); s3 = mean(imxy(:)); figure;imshow(img2);title('2次高斯模糊');
结论
我们会发现经过2次高斯模糊的图像的平均梯度的值最小,而没有经过平滑的图像的平均梯度值是最大的。相关文章推荐
- matlab代码-图像上画框
- 图像处理 估计退化函数之运动模糊和矩阵matlab运算的一些实验情况
- Matlab图像识别/检索系列(1)—10行代码完成基于BOW的图像检索
- Matlab 摄像头,获取外界图像,底层代码实现按钮
- 基于HSV 颜色空间的图像检索matlab代码
- [图像]Canny检测的Matlab实现(含代码)
- 【图像处理】【去模糊】代码资源汇总
- Matlab图像识别/检索系列(4)—10行代码完成多分类功能
- Matlab图像识别/检索系列(7)-10行代码完成深度学习网络之取中间层数据作为特征
- matlab为图像加模糊
- 如何仅用一行 matlab 代码左右翻转一副图像?
- 多种图像的颜色/纹理描述子及其matlab代码实现 相似性量测方法
- matlab图像预处理代码综合
- photoshop图像滤镜——油画算法(含matlab与C代码)
- 计算机视觉与图像处理的 Matlab/Octave 代码集合
- matlab 把图像分成2x4小矩阵用平均值替代 图像模糊处理
- matlab代码 图像处理源码
- 医学图像配准实现代码(matlab篇)
- 运动模糊图像处理(一)----- 模糊角度估计的算法研究及matlab实现
- Matlab评价图像质量,峰值信噪比,模糊系数的计算