第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 图像处理:图像增强质量评估

图像处理:图像增强质量评估

时间:2020-03-20 09:28:35

相关推荐

图像处理:图像增强质量评估

原理

1、亮度阈值效应:JND曲线

图中说明,人眼在暗的场景下分辨能力是弱的。

比如下图,在灰度值整体加80之后,人眼原先分辨不出的背景文字,衣服褶皱便可看清

(PS:从ppt里扒下来的图都不能用,由于图片压缩,其实原图黑色部分已十分接近,+80也分辨不出来,只能百度重搜。还有上次,只有5个灰度级的图像扒下来后灰度级变多了很多(比较连续了),以后有功夫再看压缩的原理吧)

让我想起一个小伙用美图秀秀的涂鸦笔给自己名字打码,被人调高亮度后扒出来的事。

2、空间频率掩盖效应(单位视角,明暗变化个数)

频率越高,视网膜细胞是有限的嘛,所以分辨能力会下降,比如隔远了看屏幕,尽管屏幕分辨率没变,但看到的细节就没那么清晰了。

那频率低了为啥也不行呢?

比如这张图(我记得有个祖师爷的图来着就是没搜到),近了看全是小点点,远了看却是人像。和视线聚焦有关吧?人眼关注的焦点部分其实不大,so。。。

于是乎,就有了利用JND和MTF评判图片处理质量的算法:

实现

1、建立从0-255的、uint8格式的JND曲线:存储为JNDtable.mat文件,以作备用。(JND函数就从老师ppt上码下来的,百度不太多?)

2、导入图像,这里我用同一张图,亮图=暗图+80(uint8格式,超过255自动变255)

如下

J=imread('***.jpg');J=rgb2gray(I); K=J+100;subplot(1,2,1);imshow(J);title('原图像');subplot(1,2,2);imshow(K);title('灰度+80');

运行结果就最上面俩图

然后调用质量评估函数JND_test

map1=JND_test(K);map2=JND_test(J);subplot(1,2,1);imshow(map1);title('亮图像');%一个figure显示subplot(1,2,2);imshow(map2);title('暗图像');%一个figure显示

质量评估函数JND_test.m文件:

采用中心灰度值减去周围灰度加权的方式,作为该中心点灰度变化的值。采用filter滤波器,核参数5*5:

function [map] = JND_test(A)load 'JNDtable.mat'%函数内外参数互不影响,如果不load,会把y当做函数名,显示未定义与 'uint8' 类型的输入参数相对应的函数 'y'。h=[1 1 1 1 11 2 2 2 1 1 2 0 2 1 1 2 2 2 11 1 1 1 1];pic = filter2(h,A,'same')./32;pic=uint8(pic);img=A-pic;[H, L] = size(A);map=uint8(zeros(H,L));for i=1:Hfor j=1:Lif img(i,j)>y(A(i,j)+1)map(i,j)=255;endendend

识别结果:

对比发现亮图中衣服细节能体现出来,后面的字亮图的提取结果也稍完整一些,比较符合人看到的结果。

然后,MTF没听懂啊啊啊啊啊啊啊啊啊啊啊

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。