【超分辨率实验】基于高斯模糊的训练数据集构建方法改进(matlab)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                【超分辨率实验】基于高斯模糊的训练数据集构建方法改进(matlab)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                生成數(shù)據(jù)的主程序,其中包括代碼改進部分
%% generate data filepaths = []; filepaths = [filepaths; dir(fullfile(folder, '*.jpg'))]; filepaths = [filepaths; dir(fullfile(folder, '*.bmp'))];for i = 1 : length(filepaths)for flip = 1: 1for degree = 1 : 1for s = 1 : length(scale)for downsize = 1 : length(downsizes)image = imread(fullfile(folder,filepaths(i).name));if flip == 1image = flipdim(image ,1);endif flip == 2image = flipdim(image ,2);endimage = imrotate(image, 90 * (degree - 1));//image = imresize(image,downsizes(downsize),'bicubic');[m, n]=size(image);w=fspecial('gaussian',[3 3]);//定義高斯濾波及其大小image = imresize(imfilter(image,w),downsizes(downsize));//降采樣 figure;imshow(image)R=image(:,:,1);G=image(:,:,2);B=image(:,:,3);//分解為紅、綠、藍三通道R=gauss_pyramid(R);//分別對三通道的圖像進行高斯金字塔處理 G=gauss_pyramid(G);B=gauss_pyramid(B);//R=imgaussfilt(R,downsize);//G=imgaussfilt(G,downsize);//B=imgaussfilt(B,downsize);RGB = R//初始化RGB圖像的大小RGB(:,:,1)=R(:,:,1);//將高斯模糊后的圖像合并成彩色圖像RGB(:,:,2)=G(:,:,1);RGB(:,:,3)=B(:,:,1);image = RGB;//賦值給image用于下一步處理if size(image,3)==3 image = rgb2ycbcr(image);image = im2double(image(:, :, 1));im_label = modcrop(image, scale(s));[hei,wid] = size(im_label);im_input = imresize(imresize(im_label,1/scale(s),'bicubic'),[hei,wid],'bicubic');figure;imshow(im_input)filepaths(i).namefor x = 1 : stride : hei-size_input+1for y = 1 :stride : wid-size_input+1subim_input = im_input(x : x+size_input-1, y : y+size_input-1);subim_label = im_label(x : x+size_label-1, y : y+size_label-1);count=count+1;data(:, :, 1, count) = subim_input;label(:, :, 1, count) = subim_label;endendendend endendend end高斯金字塔函數(shù)代碼
// function pyr = gauss_pyramid(I,nlev) function pyr = gauss_pyramid(I) // pyr = cell(nlev,1); // pyr{1} = I; pyr = I; G_LOWER = I;f = [.05, .25, .4, .25, .05]; //高斯濾波 f = f'*f; //卷積操作// for l = 2:nlev G_LOWER=G_LOWER(1:2:size(G_LOWER,1)-1,1:2:size(G_LOWER,2)-1); //降采樣 // pyr{l}=imfilter(G_LOWER,f,'replicate'); pyr=imfilter(G_LOWER,f,'replicate'); // end處理后的結(jié)果
 
參考博客:
 https://blog.csdn.net/majinlei121/article/details/50688668
 https://blog.csdn.net/suda5395/article/details/107554261
 https://blog.csdn.net/farmwang/article/details/74452750
 https://www.cnblogs.com/ybqjymy/p/13645870.html
總結(jié)
以上是生活随笔為你收集整理的【超分辨率实验】基于高斯模糊的训练数据集构建方法改进(matlab)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 一加 27W 冰点散热背夹发布,首发价
- 下一篇: 【图像超分辨率】Remote Sensi
