clear; pollen = imread('Fig3.10(b).jpg'); u = double(pollen); [nx ny] = size(u) nshades = 256; r1 = 80; s1 = 10; % Transformation by piecewise linear function. r2 = 140; s2 = 245; for i = 1:nx for j = 1:ny if (u(i,j)< r1) uspread(i,j) = ((s1-0)/(r1-0))*u(i,j) end if ((u(i,j)>=r1) & (u(i,j)<= r2)) uspread(i,j) = ((s2 - s1)/(r2 - r1))*(u(i,j) - r1)+ s1; end if (u(i,j)>r2) uspread(i,j) = ((255 - s2)/(255 - r2))*(u(i,j) - r2) + s2; end end end pollenspread = uint8(uspread); imwrite(pollenspread, 'pollenspread.jpg'); u = double(pollenspread); % Sharpen the image. coeff = .1; for k = 1:1 for j = 2:ny-1 for i = 2:nx-1 newu(i,j) = u(i,j) - coeff*(u(i-1,j) -2*u(i,j) + u(i+1,j))... - coeff*(u(i,j-1) -2*u(i,j) + u(i,j+1)); end end u = newu; end pollensharpenmat = uint8(u); imwrite(pollensharpenmat, 'pollensharpen.jpg');