|
Topshiriq 5 Mavzu: Matlabda tasvirlarga raqamli ishlov berish Bajardi: Muxiddinov Husan Tekshirdi
|
bet | 3/4 | Sana | 17.12.2023 | Hajmi | 4,4 Mb. | | #121266 |
Bog'liq Husan4-vazifa. Edge detection
Tasvirlarda qirralarni aniqlash usullarini tadqiqi qilish. Mazkur topshiriqni bajarish tartibi quyidagicha:
Sobel operatori asosida qirralarni aniqlash usulini keltirish
Qirralarni aniqlashning "Canny" usuli algoritmini keltirish
O'lchami kamida 512x512 bo'lgan rangli va kulrang tasvirlarni kiritish
Kiruvchi tasvirlarni Sobel operatori va Canny algoritmi asosida qirralarni aniqlash
Rangli va kulrang tasvir uchun natijalarni alohida choq qilish
Bajarilgan ishlar bo'yicha hisobot tayyorlash
Grayscale image
I = imread('tiger.jpg');
i_gray = rgb2gray(I);
a = edge(i_gray,'Sobel');
imshowpair(I,a,'montage')
14-rasm. Sobel operatori.
I = imread('tiger.jpg');
i_gray = rgb2gray(I);
a = edge(i_gray,'Canny');
imshowpair(I,a,'montage')
15-rasm. Canny operatori.
Rangli tasvir
I = imread('tom2.jpg');
i_gray = rgb2gray(I);
a = edge(i_gray,'Sobel');
imshowpair(I,a,'montage')
16-rasm. Sobel operatori.
I = imread('tom2.jpg');
i_gray = rgb2gray(I);
a = edge(i_gray,'Canny');
imshowpair(I,a,'montage')
17-rasm. Canny operatori.
5-vazifa. Matlab IPT muhitida tasvirlarni geometrik o’zgartirish
kiruvchi tasvir .bmp yoki .png formatda 512x512 o’lchamda olinadi
kiruvchi tasvirni imcrop funksiyasi yordamida tasvirning birinchi yarmini kesib olish (w: 512, h: 256) va natijaviy tasvir o’lchami 512x256 bo’lishi lozim
kiruvchi tasvirni imresize funksiyasi yordamida interpolyatsiya (‘nearest’, ‘bilinear’, ‘bicubic’) usullaridan birini qo’llash tasvir o’lchamini o’zgartirish, natijaviy tasvir o’lchami: 384x256
kiruvchi tasvirni imrotate funksiyasi yordamida burish, bunda burish burchagi tasodifiy [100-210] oraligida tanlansin. har bir o’zgartirish subplot funksiyasi orqali “kiruvchi” va “natijaviy” tasvir ko’rinishida solishtirilsin.
Kiruvchi tasvirni imcrop funksiyasi yordamida tasvirning birinchi yarmini kesib olish (w: 512, h: 256) va natijaviy tasvir o’lchami 512x256 bo’lishi lozim
%% Tasvirni o'qib olish
I = imread('chess.jpg');
%% Tasvirni kengligi va balandligini belgilash
rect = [256 0 255 512];
%% Tasvirni kesib olish
J = imcrop(I,rect);
%% Tasvirni chop etish
subplot(121)
imshow(I)
title('Kiruvchi')
subplot(122)
imshow(J)
title('Natijaviy')
18-rasm. Tasvirni kesib olish.
Kiruvchi tasvirni imresize funksiyasi yordamida interpolyatsiya (‘nearest’, ‘
|
| |