Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. import cv2
  2. import numpy as np
  3.  
  4. # Прочитайте изображение
  5. img = cv2.imread('61.png')
  6.  
  7. # Получить форму изображения
  8. #h, w, channels = img.shape
  9.  
  10. # Нарисуйте прямоугольник на границе, чтобы соединить стену с одним контуром.
  11. #cv2.rectangle(img,(0,0),(w,h),(0,0,0),2)
  12.  
  13. # Преобразовать в оттенки серого
  14. gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  15.  
  16. # Применить бинарный порог
  17. _, threshold = cv2.threshold(gray, 180, 255, cv2.THRESH_BINARY_INV)
  18.  
  19. # Поиск контуров и сортировка их по размеру
  20. contours, hierarchy = cv2.findContours(threshold,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)
  21. area = sorted(contours, key=cv2.contourArea, reverse=True)
  22.  
  23. # Нарисуйте его белым цветом от самого большого до второго по величине контура
  24. cv2.drawContours(img, ((contours[0]),(contours[1])), -1, (255,255,255), -1)
  25.  
  26. # Снова примените бинарный порог к новому изображению, чтобы удалить небольшие шумы
  27. _, img = cv2.threshold(img, 180, 255, cv2.THRESH_BINARY)
  28.  
  29. # Показать результаты
  30. cv2.imshow('img', img)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement