- •2013 Зміст
- •Завдання на розрахунково-графічну роботу Варіант № 9
- •Вихідні дані
- •Геометричні перетворення зображення
- •Аналіз зображення
- •Поліпшення зображення
- •Фільтрація зображення
- •Сегментація зображення
- •Усунення розмитості зображення за допомогою алгоритму сліпої деконволюції
- •Моделювання Blur та відновлення розмитого зображення
- •Імітація (Motion Blur) розмитості рухом та відновлення розмитого зображення
- •Лістинг
- •Висновки
- •Список використаних дджерел
Лістинг
clear all
L=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
figure; %виведення на екран
%2.1.1 Геометричні перетворення зображень.
L=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
imshow (L); %виведення на екран
imcrop; %кадрування зображення
L=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
L1=imresize(L,0.5) %зміна розмірів
imshow (L1); %виведення на екран
L=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
L1=imrotate(L,73,'bicubic'); %поворот на 73 градуси
figure,imshow(L1) %виведення на екран
%2.1.2 Аналіз зображень.
I=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
figure; imshow(I); %виведення на екран зображення
figure; imhist(I); %виведення на екран гістограми
I=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
figure, imshow(I); %виведення на екран зображення
impixel %функція для визначення інтенсивності деяких пікселів
%2.1.3 Поліпшення зображень.
L=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
figure, imshow(L); %виведення на екран зображення
L1=histeq(L); %вирівнювання гістограми
figure, imshow(L1); %виведення на екран
L=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
figure, imshow(L); %виведення на екран зображення
L1=imadjust(L); %корекція динамічного діапазону зображення
figure, imshow(L1);
figure, imhist(L);
figure, imhist(L1);
%2.1.4 Фільтрація зображень.
clear all %очищення робочої області
L=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
figure, imshow(L); %виведення на екран зображення
h=fspecial('laplacian',0.45); %високочастотний фільтр Лапласа
L1=imfilter(L,h,'replicate'); %копіювання значень фільтру
figure, imshow(L1); %виведення на екран
I = imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg');
I = I(1:256, 1:256);
figure, imshow(I);
S = qtdecomp(I,.36);
blocks = repmat(uint8(0),size(S));
for dim = [512 256 128 64 32 16 8 4 2 1];
numblocks = length(find(S==dim));
if (numblocks > 0)
values = repmat(uint8(1),[dim dim numblocks]);
values(2:dim,2:dim,:) = 0;
blocks = qtsetblk(blocks,S,dim,values);
end
end
blocks(end,1:end) = 1;
blocks(1:end,end) = 1;
imshow(I), figure, imshow(blocks,[])
%2.1.5 Сегментація зображень.
clear all %очищення робочої області
I=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
BW6=edge(I,'roberts'); %метод roberts
figure;
imshow(BW6); %виведення на екран
title('roberts'); %заголовок «roberts»
%2.2.1 Усунення розмитості зображення за допомогою алгоритму сліпої
%деконволюції.
I=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
PSF=fspecial('gaussian',7,10); %імітація розмиття шляхом згортки Гауса
Blurred=imfilter(I,PSF,'symmetric','conv'); %моделювання Blur
figure;
imshow(Blurred); %виведення на екран
title('Blurred image'); %заголовок «Blurred image»
%2.2.3 Відновлення розмитого зображення.
I=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
Blurred=imfilter(I,PSF,'symmetric','conv'); %моделювання Blur
INITPSF=padarray(PSF,[2 2],'replicate','both');
[J3 P3]=deconvblind(Blurred,INITPSF); %відновлення
figure;
imshow(J3); %виведення на екран
title('Debluring with INITPSF'); %заголовок «Debluring with INITPSF»
I=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
figure;
imshow(I); %виведення на екран зображення
title('Original image'); %заголовок «Original image»
PSF=fspecial('gaussian',7,10); %згортка Гауса
Blurred=imfilter(I,PSF,'symmetric','conv'); %моделювання Blur
figure;
imshow(Blurred); %виведення на екран
title('Blurred image'); %заголовок «Blurred image»
INITPSF=padarray(PSF,[2 2],'replicate','both');
%масив INITPSF
[J3 P3]=deconvblind(Blurred,INITPSF); %відновлення
figure;
imshow(J3); %виведення на екран
title('Debluring with INITPSF'); %заголовок «Debluring with INITPSF»
%2.2.4 Усунення розмитості зображення за допомогою фільтра Вінера.
I = im2double(imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg')); %представлення пікселів рисунка у вигляді дійсних чисел подвійної точності
figure;
imshow(I);
title('Original Image (courtesy of MIT)');% заголовок 'Original Image(courtesy of MIT)'
%2.2.5 Імітація (Motion Blur) розмитості рухом.
I=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
LEN=27; %точка розповсюдження функції
THETA=36; %кут розповсюдження
PSF=fspecial('motion',LEN,THETA); %зашумлення функцією motion
blurred=imfilter(I,PSF,'conv','circular');
%моделювання Blur
%imshow(blurred); %виведення на екран
title('Blurred image'); %заголовок «Blurred image»
%2.2.6 Відновлення розмитого зображення.
wnr1=deconvwnr(blurred,PSF,0); %відновлення
imshow(wnr1); %виведення на екран
title('Restored Image'); %заголовок «Restored Image»