Mercurial > hg > smallbox
comparison Problems/generateImageDenoiseProblem.m @ 44:2c59257d734c
(none)
author | idamnjanovic |
---|---|
date | Mon, 14 Mar 2011 15:42:42 +0000 |
parents | 0211faef9add |
children | 55faa9b5d1ac |
comparison
equal
deleted
inserted
replaced
43:984c3c175be2 | 44:2c59257d734c |
---|---|
65 cd([pathstr1,FS,'data',FS,'images']); | 65 cd([pathstr1,FS,'data',FS,'images']); |
66 [filename,pathname] = uigetfile({'*.png;'},'Select an image'); | 66 [filename,pathname] = uigetfile({'*.png;'},'Select an image'); |
67 [pathstr, name, ext, versn] = fileparts(filename); | 67 [pathstr, name, ext, versn] = fileparts(filename); |
68 data.name=name; | 68 data.name=name; |
69 im = imread(filename); | 69 im = imread(filename); |
70 im = double(im); | 70 %im = double(im); |
71 end; | 71 end; |
72 im = double(im); | |
72 cd(TMPpath); | 73 cd(TMPpath); |
73 | 74 |
74 %% check input parameters %% | 75 %% check input parameters %% |
75 | 76 |
76 if ~ exist( 'blocksize', 'var' ) || isempty(blocksize),blocksize = 8;end | 77 if ~ exist( 'blocksize', 'var' ) || isempty(blocksize),blocksize = 8;end |
91 | 92 |
92 %% set parameters %% | 93 %% set parameters %% |
93 | 94 |
94 x = imnoise; | 95 x = imnoise; |
95 p = ndims(x); | 96 p = ndims(x); |
96 | 97 psnr=20*log10(maxval * sqrt(numel(im)) / norm(im(:)-imnoise(:))); |
97 if (p==2 && any(size(x)==1) && length(blocksize)==1) | 98 if (p==2 && any(size(x)==1) && length(blocksize)==1) |
98 p = 1; | 99 p = 1; |
99 end | 100 end |
100 | 101 |
101 % blocksize % | 102 % blocksize % |
132 for i = 1:bsize:size(X,2) | 133 for i = 1:bsize:size(X,2) |
133 blockids = i : min(i+bsize-1,size(X,2)); | 134 blockids = i : min(i+bsize-1,size(X,2)); |
134 X(:,blockids) = remove_dc(X(:,blockids),'columns'); | 135 X(:,blockids) = remove_dc(X(:,blockids),'columns'); |
135 end | 136 end |
136 | 137 |
138 % Noisy image blocks | |
139 xcol=im2col(x,blocksize,'sliding'); | |
140 [b1, dc] = remove_dc(xcol,'columns'); | |
141 | |
137 %% output structure %% | 142 %% output structure %% |
138 | 143 |
139 data.Original = im; | 144 data.Original = im; |
140 data.Noisy = imnoise; | 145 data.Noisy = imnoise; |
146 data.noisy_psnr=psnr; | |
141 data.b = X; | 147 data.b = X; |
148 data.b1=b1; | |
149 data.b1dc=dc; | |
142 data.m = size(X,1); | 150 data.m = size(X,1); |
143 data.n = size(X,2); | 151 data.n = size(X,2); |
144 data.p = dictsize; | 152 data.p = dictsize; |
145 data.blocksize=blocksize; | 153 data.blocksize=blocksize; |
146 data.sigma = sigma; | 154 data.sigma = sigma; |