一种高分辨率图像模拟低分辨率相机成像的方法与流程

专利2022-06-29  131


本发明涉及计算机仿真技术领域,特别涉及一种高分辨率图像模拟低分辨率相机成像的方法。



背景技术:

分辨率是星载光学遥感系统的重要指标参数,由于相机的研制周期长、复杂度较高,故事先根据光学设计等参数评估成像效果尤为重要。



技术实现要素:

有鉴如此,有必要针对现有技术存在的缺陷,提供一种经济简便便于相机的设计优化的高分辨率图像模拟低分辨率相机成像的方法。

为实现上述目的,本发明采用下述技术方案:

本发明提供了一种高分辨率图像模拟低分辨率相机成像的方法,包括下述步骤:

输入原始高分辨率图像img_high,图像大小为w*h;

输入所述原始高分辨率图像的分辨率,记为gsd_high;

输入待拟合低分辨图像的分辨率,记为gsd_low;

输入模拟的低分辨相机的ccd尺寸,记为ccd_size和光学psf大小,记为psf_size及待模拟相机的光学传递函数,记为psf_op;

计算gsd_high与gsd_low的比例系数k,k=gsd_low/gsd_high;

若k为整数,则定义num_resample=k;若k为小数,将k取小数点后n位数得到k1,定义n_ccd=k1*10n,n_psf=10n;

计算n_ccd和n_psf的最大公约数r,并计算num_resample,所述num_resample=n_ccd/r;

确定低分辨率图像点扩散函数图img_psf的大小,其中,行row=3*num_resample,列low=3*num_resample,初始值赋值为0;

将img_psf的中心位置赋值,具体赋值范围为从第num_resample 1到num_resample*2行,第num_resample 1到2*num_resample列,该区域都赋值为1;

将img_psf采用第一公式进行归一化处理,

所述第一公式为:img_psf=img_psf/sum(img_psf);其中,sum(img_psf)代表点扩散函数的和;

采用第二公式用高分辨图像卷积点扩散函数img_psf得到初始将分辨率图像img_con,所述第二公式如下:

img_con=conv2(img_high,img_psf,'same'),其中,conv2代表matlab工具二维上的卷积操作;

将图像img_conv进行下采样n倍,得到不考虑实际光学传函的图像img_low0,n=1/num_resample;img_low0=imresize(img_conv,n,'bilinear');

其中,imresize代表matlab工具中一种插值工具,'bilinear'为三次插值;

根据输入模拟的低分辨相机的ccd尺寸及待模拟相机的光学传递函数,计算num_resample1,num_resample1=ccd_size/psf_size;

根据所述img_low0插值,将num_resample1与psf的尺寸对齐并根据第三公式得到图像img_res:

所述第三公式为img_res=imresize(img_low0,num_resample1,'bilinear'),其中,imresize代表matlab工具中一种插值工具,'bilinear'为三次插值;

将图像img_res与输入光学psf_op进行卷积得到图像img_conv2,img_conv2=conv2(img_res,psf_op,'same');其中,conv2代表matlab工具二维上的卷积操作;

将img_conv2进行采样,得到输出模拟的低分辨率图像img_low,img_low=imresize(img_conv2,1/num_resample,'bilinear');其中,imresize代表matlab工具中一种插值工具,'bilinear'为三次插值。

本发明采用上述技术方案的优点是:

本发明提供的高分辨率图像模拟低分辨率相机成像的方法,根据事先输入理想的高分辨率图像,结合光学设计参数、ccd尺寸参数,同时考虑到ccd与光学传函采样对成像的影响,模拟出设计参数的低分辨率图像方法,上述成像方法可根据输入的光学参数及ccd尺寸大小由理想的高分辨率图像模拟低分辨率成像效果,根据图像的质量可以对光学设计进行反馈,经济简便便于相机的设计优化。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的高分辨率图像模拟低分辨率相机成像的方法的步骤流程图。

图2为本发明实施例提供的输入的原始高分辨率图像。

图3为本发明实施例提供的待模拟相机的光学传递函数的psf_op示意图。

图4为本发明实施例得到不考虑光学传递函数得到分辨率为5m的图像。

图5为本发明实施例得到输出模拟的低分辨率图像。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,为本发明实施例一提供的一种高分辨率图像模拟低分辨率相机成像的方法的步骤流程图,包括下述步骤:

步骤s110:输入原始高分辨率图像img_high,图像大小为w*h。

请参阅图2,为本发明实施例输入的原始高分辨率图像,图像大小为4000*5000,分辨率图像为1m。

步骤s120:输入所述原始高分辨率图像的分辨率,记为gsd_high。

步骤s130:输入待拟合低分辨图像的分辨率,记为gsd_low。

步骤s140:输入模拟的低分辨相机的ccd尺寸,记为ccd_size和光学psf大小,记为psf_size及待模拟相机的光学传递函数,记为psf_op。

请参阅图3,为本发明实施例提供的待模拟相机的光学传递函数的psf_op示意图。

步骤s150:计算gsd_high与gsd_low的比例系数k,k=gsd_low/gsd_high;

若k为整数,则定义num_resample=k;若k为小数,将k取小数点后n位数得到k1,定义n_ccd=k1*10n,n_psf=10n。

步骤s160:计算n_ccd和n_psf的最大公约数r,并计算num_resample,所述num_resample=n_ccd/r。

步骤s170:确定低分辨率图像点扩散函数图img_psf的大小,其中,行row=3*num_resample,列low=3*num_resample,初始值赋值为0。

步骤s180:将img_psf的中心位置赋值,具体赋值范围为从第num_resample 1到num_resample*2行,第num_resample 1到2*num_resample列,该区域都赋值为1。

步骤s190:将img_psf采用第一公式进行归一化处理,所述第一公式为:img_psf=img_psf/sum(img_psf);其中,sum(img_psf)代表点扩散函数的和。

步骤s210:采用第二公式用高分辨图像卷积点扩散函数img_psf得到初始将分辨率图像img_con,所述第二公式如下:

img_con=conv2(img_high,img_psf,'same'),其中,conv2代表matlab工具二维上的卷积操作。

步骤s220:将图像img_conv进行下采样n倍,得到不考虑实际光学传函的图像img_low0,n=1/num_resample;img_low0=imresize(img_conv,n,'bilinear');

其中,imresize代表matlab工具中一种插值工具,'bilinear'为三次插值。

请参阅图4,为本发明实施例得到不考虑光学传递函数得到分辨率为5m的图像,图像大小为800*1000。

步骤s230:根据输入模拟的低分辨相机的ccd尺寸及待模拟相机的光学传递函数,计算num_resample1,num_resample1=ccd_size/psf_size。

步骤s240:根据所述img_low0插值,将num_resample1与psf的尺寸对齐并根据第三公式得到图像img_res;

所述第三公式为img_res=imresize(img_low0,num_resample1,'bilinear'),其中,imresize代表matlab工具中一种插值工具,'bilinear'为三次插值。

步骤s250:将图像img_res与输入光学psf_op进行卷积得到图像img_conv2,img_conv2=conv2(img_res,psf_op,'same');其中,conv2代表matlab工具二维上的卷积操作。

步骤s260:将img_conv2进行采样,得到输出模拟的低分辨率图像img_low,img_low=imresize(img_conv2,1/num_resample,'bilinear');其中,imresize代表matlab工具中一种插值工具,'bilinear'为三次插值。

请参阅图5,是经过上述步骤得到输出模拟的低分辨率图像img_low,其分辨率为5m的一幅图像,图像大小为800*1000。

本发明提供的高分辨率图像模拟低分辨率相机成像的方法,根据事先输入理想的高分辨率图像,结合光学设计参数、ccd尺寸参数,同时考虑到ccd与光学传函采样对成像的影响,模拟出设计参数的低分辨率图像方法,上述成像方法可根据输入的光学参数及ccd尺寸大小由理想的高分辨率图像模拟低分辨率成像效果,根据图像的质量可以对光学设计进行反馈,经济简便便于相机的设计优化。

当然本发明的高分辨率图像模拟低分辨率相机成像的方法还可具有多种变换及改型,并不局限于上述实施方式的具体结构。总之,本发明的保护范围应包括那些对于本领域普通技术人员来说显而易见的变换或替代以及改型。


技术特征:

1.一种高分辨率图像模拟低分辨率相机成像的方法,其特征在于,包括下述步骤:

输入原始高分辨率图像img_high,图像大小为w*h;

输入所述原始高分辨率图像的分辨率,记为gsd_high;

输入待拟合低分辨图像的分辨率,记为gsd_low;

输入模拟的低分辨相机的ccd尺寸,记为ccd_size和光学psf大小,记为psf_size及待模拟相机的光学传递函数,记为psf_op;

计算gsd_high与gsd_low的比例系数k,k=gsd_low/gsd_high;

若k为整数,则定义num_resample=k;若k为小数,将k取小数点后n位数得到k1,定义n_ccd=k1*10n,n_psf=10n;

计算n_ccd和n_psf的最大公约数r,并计算num_resample,所述num_resample=n_ccd/r;

确定低分辨率图像点扩散函数图img_psf的大小,其中,行row=3*num_resample,列low=3*num_resample,初始值赋值为0;

将img_psf的中心位置赋值,具体赋值范围为从第num_resample 1到num_resample*2行,第num_resample 1到2*num_resample列,该区域都赋值为1;

将img_psf采用第一公式进行归一化处理,

所述第一公式为:img_psf=img_psf/sum(img_psf);其中,sum(img_psf)代表点扩散函数的和;

采用第二公式用高分辨图像卷积点扩散函数img_psf得到初始将分辨率图像img_con,所述第二公式如下:

img_con=conv2(img_high,img_psf,'same'),其中,conv2代表matlab工具二维上的卷积操作;

将图像img_conv进行下采样n倍,得到不考虑实际光学传函的图像img_low0,n=1/num_resample;img_low0=imresize(img_conv,n,'bilinear');

其中,imresize代表matlab工具中一种插值工具,'bilinear'为三次插值;

根据输入模拟的低分辨相机的ccd尺寸及待模拟相机的光学传递函数,计算num_resample1,num_resample1=ccd_size/psf_size;

根据所述img_low0插值,将num_resample1与psf的尺寸对齐并根据第三公式得到图像img_res:

所述第三公式为img_res=imresize(img_low0,num_resample1,'bilinear'),其中,imresize代表matlab工具中一种插值工具,'bilinear'为三次插值;

将图像img_res与输入光学psf_op进行卷积得到图像img_conv2,img_conv2=conv2(img_res,psf_op,'same');其中,conv2代表matlab工具二维上的卷积操作;

将img_conv2进行采样,得到输出模拟的低分辨率图像img_low,img_low=imresize(img_conv2,1/num_resample,'bilinear');其中,imresize代表matlab工具中一种插值工具,'bilinear'为三次插值。

技术总结
本发明提供的高分辨率图像模拟低分辨率相机成像的方法,根据事先输入理想的高分辨率图像,结合光学设计参数、CCD尺寸参数,同时考虑到CCD与光学传函采样对成像的影响,模拟出设计参数的低分辨率图像方法,上述成像方法可根据输入的光学参数及CCD尺寸大小由理想的高分辨率图像模拟低分辨率成像效果,根据图像的质量可以对光学设计进行反馈,经济简便便于相机的设计优化。

技术研发人员:聂婷;陈长征;李宪圣;张星祥;毕国玲;刘洪兴
受保护的技术使用者:中国科学院长春光学精密机械与物理研究所
技术研发日:2019.12.23
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-54542.html

最新回复(0)