Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 2

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Продолжим изучение компьютерного зрения, которое мы начали на прошлом уроке. Напомню кратко, что там было:

  • Этапы обработки и анализа изображений.

  • Установка OpenCV.

  • Простая программа на OpenCV – отображения картинки в окне.

  • Изменение размеров картинки.

  • Преобразование из цветного формата в черно-белый.

Как я уже писал в первой части, для того, чтобы удалить из изображения различные шумы, применяют размытие изображение. Например, вот так:

import cv2
my_photo = cv2.imread('MyPhoto.jpg')
average_image = cv2.blur(my_photo,(7,7))
cv2.imshow('MyPhoto', average_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Вот какой будет эффект от применения данного фильтра:

Но это простой фильтр, он всего лишь усредняет. Более продвинутым считается гауссовский фильтр:

import cv2
my_photo = cv2.imread('MyPhoto.jpg')
gaussian_image  = cv2.GaussianBlur(my_photo,(7,7),0)
cv2.imshow('MyPhoto', gaussian_image )
cv2.waitKey(0)
cv2.destroyAllWindows()

 Но мы не верим, давайте проверим. Вот результат применения гаусcовского фильтра:

Казалось бы, в чем разница? Второй просто меньше размыл изображение.

Давайте проверим фильтр в деле. Специально испортим изображение:

Пропустим через первый фильтр:

Как видим, дефекты никуда не исчезли, они просто тоже стали размытыми.

А второй фильтр:

Собственно говоря, тоже самое.  Да, потому что размытие такие дефекты не удалить. Для этого есть другие фильтры, о которых я расскажу в будущих уроках. Но для чего же тогда применяется размытие? Считается, что для удаление гауссовского шума.  Давайте это тоже проверим.

Теперь испортим фотографию путем добавления гауссовского шума, это можно сделать, например, в фотошопе:

Посмотрим, как сработает первый фильтр:

Шум местами виден.

А второй фильтр:

Шум виден, но размытие меньше.

Мы можем увеличить размер окна, например, сделать не 7, а 11:

И по факту у нас получилась первая картинка. Иными словами, гауссовское размытие при большем окне по факту меньше смазывает изображение. Если мы применим усреднение с таким же окном (11 пикселей) то получим вот что:

Таким образом, гаусовский фильтр работает действительно лучше.

Итак, подытожим.

Мы научились применять фильтр размытия к изображению для того, чтобы убрать гауссовский шум, и сравнили два фильтра: фильтр усреднения и гауссовский фильтр.

Источник: https://habr.com/ru/post/651989/


Интересные статьи

Интересные статьи

Добро пожаловать  на 2-й день челленджа #30DaysOfPlaywright!Материал первого дня обучения содержал информацию о том, как настраивать и проверять нашу локальную среду для тестирования. П...
Сначала была мечта…Что-то похожее на робототехническую систему, с двумя подвижными камерами, способностью отслеживать (направлять «взгляд» на) заданный объект и определять расстояние до объекта. И это...
Продолжение статьи про новости - как я скачиваю подкасты. Первая часть тут, вторая - тут. Читать далее
Наверное, мало какому айтишнику нужно объяснять, что такое Memtest86+ — пожалуй, он уже стал более-менее стандартом в тестировании оперативной памяти на ПК. Когда в одной из предыдущих частей я...
Если в вашей компании хотя бы два сотрудника, отвечающих за работу со сделками в Битрикс24, рано или поздно возникает вопрос распределения лидов между ними.