首页 - 技术 - FFDNet模型代码分析

FFDNet模型代码分析

2023-10-03 10:53
-->

1。读取图像并判断是否为灰度图像。如果是RGB图像,将其转换为灰度图像,并读取图像的w和h

2。数据格式转换:将读取的uint8表示的图像矩阵改为double表示。

3。添加噪声,如果噪声水平 $\sigma = 50 $ 则:  

$噪声 = \sigma/255.*randn(大小(标签))$

生成的附加高斯白噪声与输入图像形状相同

4。将得到的噪声级图与输入图像相加,得到模型的输入:

5。将图像的形状调整为偶数,先宽度,然后高度。

if mod(w,)==
输入 = cat(,输入, 输入(结束,:)) ;
结束

图片尺寸为401*383。经过这样的调整,402*383

又增加了一行

if mod(h,)==
输入=猫(,输入,输入(:,结束));
结束

图片尺寸为402*383。经过这样的调整,402*384

又增加了一行

6。设置噪音水平图噪音

$sigmas = \sigma/255$

补丁生成

生成一个数组来存储生成的补丁:imdb.HRlabels = Zeros(patchsize, patchsize, nch, numPatches,'single');

1。根据cshuffle后的顺序,随机取出一张图片;

2。判断是否为灰度并进行灰度转换;

3。旋转和翻转图像以增加样本的多样性。

4。调整图像大小以适应比例。

5。获取图像尺度信息并转换数据类型(转换为单精度im2single)

6。关键步骤是使用两个循环来获取 patchSize 大小和图像上滑动 patch 的间隔步幅大小。

补丁生成的代码:web

-->