# import the necessary packages
import decimal
import imutils
import cv2
import numpy as np
import matplotlib.pyplot as plt
# load the image, convert it to grayscale, and blur it slightly
image = cv2.imread("hand.jpg",0)
# threshold the image, then perform a series of erosions +
# dilations to remove any small regions of noise
thresh = cv2.threshold(image, 45, 255, cv2.THRESH_BINARY)[1]
thresh = cv2.erode(thresh, None, iterations=2)
thresh = cv2.dilate(thresh, None, iterations=2)
# find contours in thresholded image, then grab the largest one
cnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if imutils.is_cv2() else cnts[1]
c = max(cnts, key=cv2.contourArea)
size = len(c);
refer_point = (207,130)
data = np.genfromtxt("data.txt", delimiter=',')
X = data[:,][:,0]
Y = data[:,][:,1]
for i in range(0,size):
dist1= (((abs(207-X))**2)+((abs(130-Y))**2))**(1.0/2.0)
dist3 = round(dist1,2)
print dist3
plt.plot([dist3])
plt.show()
ich auf dem obigen Code arbeite. Der Code wurde perfekt ausgeführt, aber die Konturpunkte des Bildes waren völlig falsch. Ich habe diesen Fehler nach dem Zeichnen des Graphen beobachtet. Hilf mir bei diesem Thema.Finding Konturen eines Bildes Python OpenCV
Wie lautet das Eingabebild und die Ausgabe dieses Code-Snippets? – ZdaR
Sie sind Bilder und ich kann keine Bilder in der Kommentarzeile anhängen. –
Dann laden Sie sie hoch und stellen Sie hier Links zur Verfügung – ZdaR