Рубрики
Без рубрики

Python Opencv CV2 Найти контуры в изображении

Автор оригинала: Python Examples.

Opencv – контуры изображения

Контур в изображении – это план на объектах, присутствующих на изображении. Значение объектов зависит от требования и порога вы выбираете.

В этом руководстве мы узнаем, как найти контуры на изображении, используя библиотеку Python OpenCV.

Шаг, чтобы найти контуры в изображении

Чтобы найти контуры на изображении, выполните следующие действия:

  1. Читайте изображение как изображение серого.
  2. Используйте функцию cv2.threhold () для получения порогового изображения.
  3. Используйте CV2.Findcontours () и пропустите пороговое изображение и необходимые параметры.
  4. Findcontours () возвращает контуры. Вы можете нарисовать его на исходном изображении или пустое изображение.

Пример 1: Найти контуры в изображении

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

Входное изображение

В этом примере мы напишем контуры на новый двоичный образ.

Python Program

import cv2
import numpy as np

img = cv2.imread('D:/original.png', cv2.IMREAD_UNCHANGED)

#convert img to grey
img_grey = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#set a thresh
thresh = 100
#get threshold image
ret,thresh_img = cv2.threshold(img_grey, thresh, 255, cv2.THRESH_BINARY)
#find contours
contours, hierarchy = cv2.findContours(thresh_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

#create an empty image for contours
img_contours = np.zeros(img.shape)
# draw the contours on the empty image
cv2.drawContours(img_contours, contours, -1, (0,255,0), 3)
#save image
cv2.imwrite('D:/contours.png',img_contours) 

Выходное изображение

В приведенной выше программе Python мы предприняли пороговое значение 100. Если вы измените порог, контуры также меняются. Давайте возьмем пороговое значение 128 и увидим результат.

Основываясь на распределении и характеристиках цвета вашего исходного изображения, вы должны выбрать пороговое значение.

Резюме

Чтобы обобщить этот учебник примеров Python, мы узнали, как найти контуры в изображении с помощью библиотеки Python OpenCV.