Рубрики

Python | Морфологические операции в обработке изображений (открытие) | Set-1

Морфологические операции используются для извлечения компонентов изображения, которые полезны при представлении и описании формы области. Морфологические операции — это некоторые основные задачи, зависящие от формы изображения. Обычно выполняется на двоичных изображениях. Для этого нужны два источника данных: один — входное изображение , второй — структурирующий компонент . Морфологические операторы принимают входное изображение и структурирующий компонент в качестве входных данных, и затем эти элементы объединяются с использованием операторов набора. Объекты во входном изображении обрабатываются в зависимости от атрибутов формы изображения, которые закодированы в компоненте структурирования.
Открытие аналогично эрозии, поскольку имеет тенденцию удалять яркие пиксели переднего плана с краев областей пикселей переднего плана. Влияние оператора заключается в защите области переднего плана, которая имеет сходство с компонентом структурирования или которая может полностью содержать компонент структурирования при удалении каждой отдельной области пикселей переднего плана. Операция открытия используется для удаления внутреннего шума на изображении.

Раскрытие — операция эрозии, сопровождаемая операцией расширения.

Syntax: cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel)

Parameters:
-> image: Input Image array.
-> cv2.MORPH_OPEN: Applying the Morphological Opening operation.
-> kernel: Structuring element.

Ниже приведен код Python, объясняющий начало морфологической операции —

# Python программа для иллюстрации
# Открытие морфологической операции
# на изображении

  
# организация импорта

import cv2  

import numpy as np  

  
# вернуть видео с первой веб-камеры на вашем компьютере.

screenRead = cv2.VideoCapture(0)

  
# цикл запускается, если захват был инициализирован.

while(1):

    # читает кадры с камеры

    _, image = screenRead.read()

      

    # Преобразует в цветовое пространство HSV, OCV считывает цвета как BGR

    # кадр конвертируется в hsv

    hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

      

    # определение диапазона маскировки

    blue1 = np.array([110, 50, 50])

    blue2 = np.array([130, 255, 255])

      

    # инициализация маски для

    # свернутый над входным изображением

    mask = cv2.inRange(hsv, blue1, blue2)

  

    # передача bitwise_and

    # каждый пиксель извилистый

    res = cv2.bitwise_and(image, image, mask = mask)

      

    # определение ядра т.е. структурирующий элемент

    kernel = np.ones((5, 5), np.uint8)

      

    # определение функции открытия

    # поверх изображения и структурирующего элемента

    opening = cv2.morphologyEx(mask, cv2.MORPH_OPEN, kernel)

     

    # Маска и операция открытия

    # отображается в окне

    cv2.imshow('Mask', mask)

    cv2.imshow('Opening', opening)

      

    # Ждите клавишу «a», чтобы остановить программу

    if cv2.waitKey(1) & 0xFF == ord('a'):

        break

  
# Отменить выделение любого связанного использования памяти
cv2.destroyAllWindows()

  
# Закрыть окно / отпустить веб-камеру
screenRead.release()

Входной кадр:

Маска:

Выходной кадр:

Система распознает определенную синюю книгу как входную информацию, поскольку удаляет и упрощает внутренний шум в интересующей области с помощью функции открытия.

Рекомендуемые посты:

Python | Морфологические операции в обработке изображений (открытие) | Set-1

0.00 (0%) 0 votes