对于清晰度的计算,我查看了一些文献,其中涉及的算法原理基本相同,本日志主要是采用较早的一种算法是如何在idl中实现的,其中的一些参数的理解还需要深入研究,有什么不足之处请大家多多指教!
发表这篇文章主要是想给大家介绍一下3*3窗口的遍历运算过程,希望对大家所有帮助!
PRO Information
COMPILE_OPT idl2
ENVI, /restore_base_save_files
envi_batch_init
infile = ENVI_PICKFILE(title = '请选择要打开的文件:')
ENVI_OPEN_FILE, infile, r_fid=fid
IF (fid EQ -1) THEN BEGIN
ENVI_BATCH_EXIT
RETURN
ENDIF
ENVI_FILE_QUERY, fid, dims=dims, nb=nb ,nl=nl,ns=ns
pos = LINDGEN(nb)
; proj = ENVI_GET_PROJECTION(FID = fid,pixel_size=Dx)
Dx = 1
; print,Dx
; data = indgen(nl,ns)
;
;;清晰度的计算
;
FOR g=0,nb-1 DO BEGIN
data = ENVI_GET_DATA(DIMS=dims, FID=fid , POS=g)
new_data = make_array(ns,nl)
HELP,data
Den = nl*ns
; print,Den
;ns&nl写反了
FOR i = 1,ns-2 DO BEGIN
FOR j = 1,nl-2 DO BEGIN
;获取一个3*3的窗口
t= data[[i-1]:[i+1],[j-1]:[j+1]]
; help,t
;对每个窗口做计算
d1=ABS((t[0,0]-t[1,1])/(Dx*1.414))
d2=ABS(t[0,1]-t[1,1])/(Dx*1.0)
d3=ABS(t[0,2]-t[1,1])/(Dx*1.414)
d4=ABS(t[1,0]-t[1,1])/(Dx*1.0)
d5=ABS(t[1,2]-t[1,1])/(Dx*1.0)
d6=ABS(t[2,0]-t[1,1])/(Dx*1.414)
d7=ABS(t[2,1]-t[1,1])/(Dx*1.0)
d8=ABS(t[2,2]-t[1,1])/(Dx*1.414)
;计算每个窗口的df/dx
new_data[i,j]=d1+d2+d3+d4+d5+d6+d7+d8
ENDFOR
ENDFOR
dd = total(new_data)
; print,dd
utdata = (dd/Den)/1000
print,outdata
;
;;保存文件
;
utfile = infile+'_band'+StrTrim(g,2)+'.txt'
; utfile = dialog_pickfile(title = '保存结果到TXT文档:',filter = '*.txt')
print,outfile
openw,lun,outfile,/get_lun
printf,lun,'清晰度:',outdata
free_lun,lun
ENDFOR
END
分享到:
相关推荐
Halcon找最清晰图像,判断当前的清晰度,可用于工业相机对焦时,把焦距调成最清晰状态。
图像清晰度计算源码便于直接使用和转换为算法库iqm
利用海思的HiIVE算法计算红外灰度图的清晰度。需在海思提供的mpp demo下实现。
Halcon计算清晰度代码
利用opencv,计算出图像清晰度。。
Matlab计算遥感图像熵,清晰度和相关系数的代码,对于各个波段均可使用
可以调整图片的清晰度。可以对图片进行锐化处理。
基于VS2015+opencv320的图像清晰度算法源代码,编译之前需要自己设置opencv的路径,可以参考一下。
直方图均衡算法,有计算清晰度、信噪比和信息熵。效果很好。
针对遥感影像融合的辐射参数质量评价,包含图像的方差,协方差,信息熵等数值的计算
SMD,Brenner,Robert,EOG,Sobel算子图像清晰度计算
图像模糊度算法中第二步到第八步
1.版本:matlab2019a,不会运行可私信 2.领域:【图像评价】 3.内容:Matlab实现图像清晰度评价的指标.zip 4.适合人群:本科,硕士等教研学习使用
计算遥感影像清晰度的IDL代码,直接可用
分块+清晰度计算+一致性检验
C#图片处理基本应用(裁剪,缩放,清晰度,水印)
基于Matlab的图像清晰度评价方法研究,利用MATLAB平台,计算图像清晰度,给出评价函数,多种方法对比求最优解
基于opencv测试图片模糊度及是否是纯色,函数已经给出了,这是全部测试代码及测试图片
视频帧率计算器,可以计算视频的帧率、帧数、时间长度, 还可以播放视频,计算视频清晰度,计算最清晰帧,保存最清晰帧。 其中计算视频清晰度的方法有三种,分别是Laplacian算子、Sobel算子和平均梯度。
关于ISO12233的数码相机分辨率测试方法