pr2 id
.docxМинистерство цифрового развития, связи и массовых коммуникаций
Российской Федерации
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Санкт-Петербургский государственный университет телекоммуникаций
им. проф. М. А. Бонч-Бруевича»
_____________________________________________________________________________
Кафедра РАДИОТЕХНИКИ
Дисциплина «Технологии распознавания изображений и компьютерное зрение»
Практическая работа №2
«Обработка изображений»
Выполнили: студенты группы РТ-22,
бригада № 6
Спица М.А.
Стулин П.А.
Сараева Л.В.
Швецов Ф.П.
Проверил: к.т.н. доцент каф. РТ,
Коровин К.О.
________________________
Санкт-Петербург
2026
Задание 1: Выделить линии отпечатков пальцев наркоторговца
Листинг кода MATLAB:
%%% Задание 1: выделить линии отпечатков пальцев
a2=imread('parenkuspehushel.jpg');
a2=rgb2gray(a2);
vires=a2(200:450,400:800); %%% Выделение рабочей области
%%% Применение контраста в первый раз
d1=histeq(vires);
%%% Применение Лапласиан (маска с ядром 8) для выделения контура
mx1=[-1 -1 -1; -1 8 -1; -1 -1 -1];
svertka1=conv2(d1,mx1,'same');
svrt1=uint8(svertka1);
aitog1=d1+svrt1;
%%% Применение контраста второй раз
d2=histeq(aitog1);
%%% Бинаризация
porog=graythresh(d2)*1.5;
d2_binary=imbinarize(d2,porog);
%%% Графики
figure(10)
subplot(2,3,1); imshow(a2); title('Исходная')
subplot(2,3,2); imshow(d1); title('Контраст 1')
subplot(2,3,3); imshow(aitog1); title('Лапласиан')
subplot(2,3,4); imshow(d2); title('Контраст 2')
s
ubplot(2,3,5);
imshow(d2_binary); title('Бинаризация')
Рис. 1 Результат работы скрипта
Задание 2: Salt and pepper: моделирование шумов в MATLAB и их фильтрация
Цель: смоделировать шумы соль и перец и отфильтровать с использованием медианного и усредняющего фильтров.
Шум «соль и перец» (или импульсный шум) — это тип искажения, при котором случайные пиксели изображения принимают максимально возможное (255-белый) или минимально возможное (0-черный) значение интенсивности.
Фильтрация данных шумов может происходить при помощи медианного и усредняющего фильтров. Эти два типа фильтрации оба устанавливают значение выходного пикселя в среднее значение значений пикселей по соседству вокруг соответствующего входного пикселя. При медианной фильтрации значение выходного пикселя определяется медианой соседних пикселей, а не средним значением. Медиана гораздо менее чувствительна, чем средняя к экстремальным значениям (называемым выбросами). Поэтому медианная фильтрация лучше способна удалить эти выбросы, не снижая резкость изображения.
Листинг кода в MATLAB:
%%% Задание 2: соль и перец
a_orig=imread('boy.jpg');
a_orig=rgb2gray(a_orig);
a3= im2double(a_orig);
sult_ver = 0.03;
rundom_mask = rand(size(a3,1),size(a3,2));
sult_mask = rundom_mask < sult_ver;
a3(sult_mask) = 255;
filtsult=medfilt2(a3); %%% Фильтрация медианным фильтром
a4=filtsult;
peper_ver = 0.03;
rundom_mask = rand(size(a3,1),size(a3,2));
peper_mask = rundom_mask < peper_ver;
a4(peper_mask) = 0;
filtpeper=imfilter(a4,fspecial('average',[5 5]),'replicate'); %%% Фильтрация усредняющим фильтром
%%% Графики
figure(20)
subplot(2,3,1); imshow(a_orig); title('Исходная')
subplot(2,3,2); imshow(a3); title('Соль')
subplot(2,3,3); imshow(filtsult); title('Фильтрация соли (медианный)')
subplot(2,3,4); imshow(a4); title('Перец')
subplot(2,3,5); imshow(filtpeper); title('Фильтрация перца (усредняющий)')
Рис.2 Результат работы скрипта
