【问题标题】:open cv3.1, python 3.5打开 cv3.1,python 3.5
【发布时间】:2016-09-21 17:29:09
【问题描述】:

我正在尝试使用 opencv3 和 python3 进行人脸识别: 这是我的代码:

import errno
import numpy as np
import cv2
import os
import sys
import errno
os.chdir("E:\work\data")

face=cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
def read_images(path):
    x,y=[],[]
    c=0
    for (dir,dirs,files) in os.walk(path):
        for folders in dirs:
            spath=os.path.join(dir,folders)
            print(spath)
            for file in os.listdir(spath):
                fpath=os.path.join(spath,file)
                img=cv2.imread(fpath,0)
                x.append(np.asarray(img,dtype=np.uint8))
                y.append(c)
        c=c+1
   return [x,y]






def face_rec():
    names=['Eldhose','Peter']
    read_images("E:\work\data")
    y=np.asarray(y,dtype=np.int32)
    model=cv2.face.createEigenFaceRecognizer()
    model.train(np.asarray(x),np.asarray(y))
    cap=cv2.VideoCapture(0)
   face_cascade=cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
    while True:
        suc,frame=cap.read()
        gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
        faces=face_cascade.detectMultiScale(gray,1.3,5)
        for (a,b,c,d) in faces:
        cv2.rectangle(frame,(a,b),(a+c,b+d),(255,0,0),2)
        roi=gray[b:b+d,a:a+c]
        roi=cv2.resize(roi,(200,200),interpolation=cv2.INTER_LINEAR)
        params=model.predict(roi)
        print("Label:%s,confidence %.2f" %(params[0],params[1])
    cv2.imshow("camera",frame)
    cv2.waitKey(30) & 0xff

face_rec()
cv2.destroyAllWindows()

它显示错误。我是初学者。我基础薄弱。 其中一个错误是 cv2.imshow("camera",frame) SyntaxError:无效的语法 请帮我 。 在此先感谢:)

`

【问题讨论】:

  • 我假设您从某个地方复制并粘贴了这个,因为这并不是初学者在不知道如何解决语法错误的情况下能够想出的。你介意张贴你从哪里得到它吗?另外,您是否正确配置了 OpenCV 并知道它正在工作?尝试仅导入 cv2 并查看是否遇到任何错误。如果有多个错误,您还真的需要粘贴所有错误。

标签: python-3.x numpy image-processing opencv3.1


【解决方案1】:

OpenCV_test1.py

这个程序打开同目录下的文件“image.jpg”并显示原始图像和原始图像的Canny边缘

导入 cv2 将 numpy 导入为 np 导入操作系统

#

定义主(): imgOriginal = cv2.imread("image.jpg") # 打开图片

if imgOriginal is None:                             # if image was not read successfully
    print "error: image not read from file \n\n"        # print error message to std out
    os.system("pause")                                  # pause so user can see error message
    return                                              # and exit function (which exits program)
# end if

imgGrayscale = cv2.cvtColor(imgOriginal, cv2.COLOR_BGR2GRAY)        # convert to grayscale

imgBlurred = cv2.GaussianBlur(imgGrayscale, (5, 5), 0)              # blur

imgCanny = cv2.Canny(imgBlurred, 100, 200)                          # get Canny edges

cv2.namedWindow("imgOriginal", cv2.WINDOW_AUTOSIZE)        # create windows, use WINDOW_AUTOSIZE for a fixed window size
cv2.namedWindow("imgCanny", cv2.WINDOW_AUTOSIZE)           # or use WINDOW_NORMAL to allow window resizing

cv2.imshow("imgOriginal", imgOriginal)         # show windows
cv2.imshow("imgCanny", imgCanny)

cv2.waitKey()                               # hold windows open until user presses a key

cv2.destroyAllWindows()                     # remove windows from memory

return
#

如果 name == "ma​​in": 主要()

python OpenCV_test1.py 文件“OpenCV_test1.py”,第 4 行 import cv2 import numpy as np import os

我有同样的错误

【讨论】:

    猜你喜欢
    • 2016-05-25
    • 2016-07-23
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多