Как нажать на Обнаруженные края с помощью Python OpenCV? - PullRequest
0 голосов
/ 05 октября 2018

С помощью следующего кода я могу обнаружить края прямоугольника, но теперь я хотел щелкнуть по каждому краю прямоугольника?Как я могу это сделать?

import numpy as np
import cv2
import matplotlib.pyplot as plt
import matplotlib
import win32api

matplotlib.rcParams["savefig.dpi"] = 400 # to get high resolution

img = cv2.imread('1.png');
plt.imshow( img )
plt.title('Original Image')
plt.show()

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# Apply Canny edge detection method on the image 
edges = cv2.Canny(gray,75,150,apertureSize = 3) 

plt.imshow(edges )
plt.title('My Image edges')
plt.show()

#lines = cv2.HoughLines(edges,1,np.pi/180, 200) 
lines = cv2.HoughLinesP(edges,1,np.pi/180, 150) 
print(lines)

1 Ответ

0 голосов
/ 06 октября 2018

Вы можете использовать следующее:

if (lines.any() == True): 
    for line in lines: 
        x1,y1, _, _ = line[0]
        cv2.Rectangle(img,(x1,y1),(x1+3,y1+3),(0,255,0),3)
        cv2.imshow('image', img)
        cv2.waitKey(0)
        cv2.destroyAllWindow()

этот код будет перебрасывать все края один за другим

...