[u, pathname] = uigetfile('*.jpg', 'To select Low Resolution Image' );
buffer=pwd;
cd (pathname);
cd (buffer);
image = imread(u);
% ima = rgb2gray(image);
%ima = rgb2gray(ima);
figure;imshow(image);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a=[0.015419006
0.015415192
0.01499939
0.014167786
0.01499939
0.015415192
0.013748169
0.014167786
0.015419006
0.015415192
0.015830994
0.017082214
0.018333435
0.019584656
0.020835876
0.022083282
0.024166107
0.025417328
0.027915955
0.030418396
0.032085419
0.033748627
0.035831451
0.037498474
0.04083252
0.044166565
0.04624939
0.050418854
0.053333282
0.05708313
0.062084198
0.066665649
0.070835114
0.075416565
0.081249237
0.085834503
0.091667175
0.098331451
0.105415344
0.112083435
0.118751526
0.127502441
0.136665344
0.145832062
0.154582977
0.164165497
0.174167633
0.186252594
0.19708252
0.207080841
0.220001221
0.232501984
0.245414734
0.25958252
0.273750305
0.287918091
0.303752899
0.318332672
0.334163666
0.351665497
0.367916107
0.385417938
0.402500153
0.419582367
0.437084198
0.454998016
0.472915649
0.490833282
0.510002136
0.527084351
0.545040131
0.563167572
0.581085205
0.598667145
0.616001129
0.633792877
0.648830414
0.666164398
0.68296051
0.69708252
0.712497711
0.727375031
0.740833282
0.754291534
0.766750336
0.778419495
0.789459229
0.799999237
0.80966568
0.818458557
0.826335907
0.833084106
0.838916779
0.843830109
0.847705841
0.850708008
0.852874756
0.854125977
0.854499817
0.85395813
0.852626801
0.850166321
0.846832275
0.842666626
0.837459564
0.831291199
0.824165344
0.816291809
0.80770874
0.798500061
0.788707733
0.778419495
0.767707825
0.756542206
0.744709015
0.732414246
0.719749451
0.706459045
0.692752838
0.678623199
0.66424942
0.650211334
0.635955811
0.621749878
0.607707977
0.593414307
0.579502106
0.565792084
0.551958084
0.538333893
0.524749756
0.511249542
0.49779129
0.484251022
0.471042633
0.457958221
0.444915771
0.432125092
0.419542313
0.407207489
0.395124435
0.382833481
0.370708466
0.358751297
0.346876144
0.335083008
0.323415756
0.311790466
0.300167084
0.288709641
0.277500153
0.266582489
0.255958557
0.245542526
0.235290527
0.225458145
0.215833664
0.206249237
0.197166443
0.188375473
0.179666519
0.171333313
0.163333893
0.155874252
0.148582458
0.141626358
0.135000229
0.128791809
0.123083115
0.117540359
0.112375259
0.107500076
0.102834702
0.09854126
0.09454155
0.090751648
0.087373734
0.084291458
0.081375122
0.07891655
0.076749802
0.074625015
0.07270813
0.070875168
0.069126129
0.067625046
0.066082001
0.064666748
0.063417435
0.062040329
0.060709
0.059583664
0.058332443
0.056999207
0.055667877
0.053958893
0.052289963
0.053625107
0.053483963
];
a=[0;a;0];
c=a(1:20:end);
h = c*c';
h = h/sum(h(:));
% figure;surf(h)
axis off
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rstimg = image;
for i = 1:2
ima=image(:,:,i);
% ima = ima /max(max(ima));
sx = size(ima,1);
sy = size(ima,2);
% axis image;
% colormap(gray);
xlabel('original image');
rstimg(:,:,i)=deconvwnr(ima,h,0.04);
end;
im0=rgb2gray(image);
im1 = move_im(im0,[1,0]);
im2 = move_im(im0,[0,1]);
im3 = move_im(im0,[1,1]);
[Q0,im0Jpg2k,q] = jpg2k(im0);
[Q1,im1Jpg2k,q] = jpg2k(im1);
[Q2,im2Jpg2k,q] = jpg2k(im2);
[Q3,im3Jpg2k,q] = jpg2k(im3);
f = im0Jpg2k;
psnr0 = PSNR(im0,f)
f = frameSetProject(f,Q1,[1,0],q);
f = frameSetProject(f,Q2,[0,1],q);
f = frameSetProject(f,Q3,[1,1],q);
f = frameSetProject(f,Q0,[0,0],q);
psnr1 = PSNR(im0,f)
f = frameSetProject(f,Q1,[1,0],q);
f = frameSetProject(f,Q2,[0,1],q);
f = frameSetProject(f,Q3,[1,1],q);
f = frameSetProject(f,Q0,[0,0],q);
psnr2 = PSNR(im0,f)
f = frameSetProject(f,Q1,[1,0],q);
f = frameSetProject(f,Q2,[0,1],q);
f = frameSetProject(f,Q3,[1,1],q);
f = frameSetProject(f,Q0,[0,0],q);
psnr3 = PSNR(im0,f)
% [x,y] = size(im0);
% sequence = uint8(zeros(x,y,4));
% sequence(:,:,1) = im0Jpg2k(:,:);
% sequence(:,:,2) = move_im(im1Jpg2k,[-1,0]);
% sequence(:,:,3) = move_im(im2Jpg2k,[0,-1]);
% sequence(:,:,4) = move_im(im3Jpg2k,[-1,-1]);
%MAP
T = 10;
sgm = 13;
lmd = 2000;
f_map = ss_map(f,f,T,sgm,lmd,3);
MAP = PSNR(im0,f_map)
%[edg0,h,v,d1,d2] = im_dif(im0Jpg2k,10);
imwrite(rstimg,'high.jpg');
figure(3);
imshow('high.jpg');
%xlabel('High Resolution');
%ima=rstimg
%ima = imread('rst.jpg');
%image= rgb2gray(ima)
%figure(3);
%imshow(image);
%xlabel('Gray scale of High Resolution');
[edg0,h,v,d1,d2] = im_dif(f,10);
mbw = 1-my_dilate2(1-edg0,1);
ff =uint8(double(f).*mbw);
[A,map]=imread('high.jpg');
image=double(A);
for i=1:256,
n(i)=0;
end,
for i=1:256,
for j=1:256,
s=image(i,j)+1;
n(s)=n(s)+1;
end,
end,
for k=1:256,
p(k)=n(k)/(256^2);
end,
for k=1:256,
q(k)=0;
end,
for k=1:256,
for j=1:k,
q(k)=q(k)+p(j);
end,
end,
N=256;
for k=1:256,
o(k)=round((N-1)*q(k)+0.5);
end,
for i=1:256,
for j=1:256,
rimage(i,j)=(image(i,j));
end
end
%figure(4),imshow(uint8(rimage));
title('very high resolution');
for i=1:256,
n(i)=0;
end,
for i=1:256,
for j=1:256,
s=rimage(i,j)+1;
n(s)=n(s)+1;
end,
end,
for k=1:256,
p(k)=n(k)/(256^2);
end,
figure(2),bar(p,'b');
title('Histogram of High resoluted image');
I = imread('high.jpg');
subplot(2,2,1);
imshow(I); title('R(1)');
H = fspecial('gaussian',[5 5],5);
MotionBlur = imfilter(I,H,'replicate');
subplot(2,2,2);
imshow(MotionBlur);title('R(2)'); %multi resolution analysis%
H = fspecial('gaussian',[5 5],10);
MotionBlur = imfilter(I,H,'replicate');
subplot(2,2,3);
imshow(MotionBlur);title('R(3)');
H = fspecial('gaussian',[5 5],15);
MotionBlur = imfilter(I,H,'replicate');
subplot(2,2,4);
imshow(MotionBlur);title('R(4)');
main