Ich entwickle ein Programm, um die Gesichter aus großen Bildern in Python zu schneiden. Allerdings habe ich ein Problem, sie sogar zu sehen.Arbeiten mit großen (über 3000x3000) Bildern in OpenCV, und sie passen nicht in meinen Bildschirm
Die Bilder, mit denen ich arbeite, können mehr als 2000x2000 betragen und passen nicht auf meinen Bildschirm. Dies ist der Code:
import cv2
import sys
# Get user supplied values
imagePath = sys.argv[1]
cascPath = sys.argv[2]
# Create the haar cascade
faceCascade = cv2.CascadeClassifier(cascPath)
# Read the image
image = cv2.imread(imagePath)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Detect faces in the image
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.2,
minNeighbors=5,
minSize=(100, 100),
flags = cv2.cv.CV_HAAR_SCALE_IMAGE
)
print "Found {0} faces!".format(len(faces))
# Draw a rectangle around the faces
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.NamedWindow(name, flags=WINDOW_NORMAL)
cv2.imshow("Faces found", image)
cv2.waitKey(0)
Und das ist der Teil mit mir aus:
cv2.NamedWindow(name, flags=WINDOW_NORMAL)
cv2.imshow("Faces found", image)
cv2.waitKey(0)
nun die opencv Dokumentation hat instructions, wie Fenstergröße zu ändern, aber so weit ich erhalte Fehler:
Fehler 1:
Found 2 faces!
Traceback (most recent call last):
File "face_detect.py", line 31, in <module>
cv2.NamedWindow(name, flags=WINDOW_NORMAL)
AttributeError: 'module' object has no attribute 'NamedWindow'
Fehler 2:
Found 2 faces!
Traceback (most recent call last):
File "face_detect.py", line 31, in <module>
cv2.namedWindow("", WINDOW_NORMAL)
NameError: name 'WINDOW_NORMAL' is not defined
Fehler 3:
File "face_detect.py", line 31
cv2.namedWindow(winname[, WINDOW_NORMAL])
^
SyntaxError: invalid syntax
Kann mir jemand zeigen, was ich falsch mache?
Es könnte einen Versuch wert sein, das Paket mit 'sudo apt-get install python-opencv' erneut zu installieren ... :) – filaton
@filaton Das ist ein bisschen eine drastische Korrektur für ein paar Tippfehler. – Suever
@Suever Richtig! :) Aber ich erinnere mich an einige Fälle, wo OpenCV die gleiche Ausnahme geworfen hat, wenn sie nicht richtig installiert wurde, deshalb habe ich gesagt, dass es sich lohnt. – filaton