Рубрики

Обнаружение краев в реальном времени с использованием OpenCV в Python | Метод обнаружения острых краев

Целью данной программы является обнаружение краев изображений в режиме реального времени. В этой статье популярный алгоритм обнаружения контуров края используется для обнаружения широкого диапазона краев на изображениях. OpenCV имеет встроенную функцию cv2.Canny (), которая принимает наше входное изображение в качестве первого аргумента и его размер апертуры (минимальное значение и максимальное значение) в качестве последних двух аргументов. Это простой пример того, как обнаружить края в Python.

Шаги для загрузки требований ниже:

  1. Загрузите версию Python 2.7.x, numpy и версию OpenCV 2.7.x или 3.1.0. Проверьте, совместима ли ваша 32-разрядная или 64-разрядная версия Windows, и установите ее соответствующим образом.
  2. Убедитесь, что в вашем питоне работает numpy, затем попробуйте установить opencv.

Реализация

# OpenCV программа для обнаружения краев в реальном времени
# импорт библиотек Python OpenCV
# где находится его функциональность

import cv2 

  
# np - псевдоним, указывающий на пустую библиотеку

import numpy as np

  

  
# захватывать кадры с камеры

cap = cv2.VideoCapture(0)

  

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

while(1):

  

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

    ret, frame = cap.read()

  

    # преобразование BGR в HSV

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

      

    # определить диапазон красного цвета в HSV

    lower_red = np.array([30,150,50])

    upper_red = np.array([255,255,180])

      

    # создать красную границу цвета HSV и

    # пороговое изображение ВПГ

    mask = cv2.inRange(hsv, lower_red, upper_red)

  

    # Побитовая маска и оригинальное изображение

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

  

    # Показать оригинальное изображение

    cv2.imshow('Original',frame)

  

    # находит ребра во входном изображении и

    # помечает их на выходных краях карты

    edges = cv2.Canny(frame,100,200)

  

    # Показать края в рамке

    cv2.imshow('Edges',edges)

  

    # Дождаться остановки клавиши Esc

    k = cv2.waitKey(5) & 0xFF

    if k == 27:

        break

  

  
# Закройте окно
cap.release()

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

Выход:

Ссылки:

  • http://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html
  • http://docs.opencv.org/trunk/da/d22/tutorial_py_canny.html
  • https://en.wikipedia.org/wiki/Canny_edge_detector
  • http://www.ijcsmc.com/docs/papers/July2013/V2I7201329.pdf

Эта статья предоставлена Афзалом Ансари . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

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

Обнаружение краев в реальном времени с использованием OpenCV в Python | Метод обнаружения острых краев

0.00 (0%) 0 votes