OpenCV: обнаружение оси транспортного средстваPython

Программы на Python
Ответить
Anonymous
 OpenCV: обнаружение оси транспортного средства

Сообщение Anonymous »

Я пытался обнаружить оси транспортных средств на изображении. Вот шаги, которые я выполнил.
  • Прочитал изображение и перешел на оттенки серого.
  • Применил медиану.
  • Применил обнаружение осторожных краев.
  • Применены круги Хафа.
Для canny параметры порога1, порога2 варьируются с помощью полосы отслеживания, а для кругов Хафа варьируются параметры1, param2, minDist. Параметр1 и параметр2 не влияют на обнаружение.

Исходное:
Изображение


Медиана:
Изображение
Canny:
Изображение


Обнаруженный круг:
Изображение


Проблема: Как вы можете видеть на последнем изображении, он обнаруживает круги и находится немного далеко от исходной оси. Есть ли какие-либо другие параметры, которые мне нужно изменить или учесть?

Код

import cv2
import numpy as np

def readAndResize(image,a):
imag = cv2.imread(image,a)
org = cv2.imread(image)
#resixe the image
small = cv2.resize(imag, (0,0), fx=0.3, fy=0.3)
small2 = cv2.resize(org, (0,0), fx=0.3, fy=0.3)
height, width = small.shape
img = small[height - height/3:height,0:width]
org2 = small2[height - height/3:height,0:width]
return img, org2

img,org2 = readAndResize('5.jpg',0)
cv2.imshow('Original',org2)
gray = cv2.cvtColor(org2, cv2.COLOR_BGR2GRAY)
med = cv2.medianBlur(gray,5)
canny = cv2.Canny(med,100,50)
circles = cv2.HoughCircles(canny,cv2.HOUGH_GRADIENT,1,92,20,10,minRadius=4,maxRadius=0)
circles = np.uint16(np.around(circles))

for i in circles[0,:]:
cv2.circle(org2,(i[0],i[1]),i[2],(0,255,0),2)
cv2.circle(org2,(i[0],i[1]),2,(0,50,255),3)
cv2.imshow('Median',med)
cv2.imshow('canny',canny)
cv2.imshow('Detected',org2)
cv2.waitKey(0)
cv2.destroyAllWindows()


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

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

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

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

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

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