Распознавание кирпичей в кирпичной стенеPython

Программы на Python
Ответить
Anonymous
 Распознавание кирпичей в кирпичной стене

Сообщение Anonymous »

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

Изображение


Мой код выглядит следующим образом:

Код: Выделить всё

import cv2
import numpy as np

img = cv2.imread("imgs/wall.jpeg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

#cv2.imshow('gray', gray)
#cv2.waitKey(0)

edges = cv2.Canny(gray,190,200,apertureSize = 3)
cv2.imshow('edges',edges)
cv2.waitKey(0)

_, contours,h = cv2.findContours(edges, 1,2)

for cnt in contours:
approx = cv2.approxPolyDP(cnt,0.01*cv2.arcLength(cnt,True),True)
if len(approx)==4:
cv2.drawContours(img,[cnt],0,(0,0,255),2)

cv2.imshow("img", img)
cv2.waitKey(0)
Итак, первое, о чем я подумал, — это найти все края этой стены с помощью хитрого детектора краев. Это дает мне следующее изображение:

Изображение


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

Изображение


Это явно не то, что мне нужно. Я тоже пробовал разные вещи, такие как детектор капель или линии, но, похоже, ничего не работает. Я был бы очень рад, если бы кто-нибудь дал мне несколько советов или даже показал, как это нужно делать! Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/530 ... brick-wall
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»