Добавил:
t.me Фулл всегда есть! А если нет, то Вы плохо его ищите! ИиКГ, СКДИКТ, ОКИТПЭС и тд https://t.me/whitedevil752 Так же веду разработку КД (конструкторской документации) согласно ГОСТ. Имеется опыт работы при производстве на одном из ведущих в области радиэлектроники предприятии. Пишите) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

pr2 id

.docx
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций

Российской Федерации

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Санкт-Петербургский государственный университет телекоммуникаций

им. проф. М. А. Бонч-Бруевича»

_____________________________________________________________________________

Кафедра РАДИОТЕХНИКИ

Дисциплина «Технологии распознавания изображений и компьютерное зрение»

Практическая работа №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 Результат работы скрипта

Соседние файлы в предмете Технологии распознавания изображений и компьютерное зрение