【问题标题】:Python/OpenCV webcam movement backwardsPython/OpenCV 网络摄像头向后移动
【发布时间】:2014-03-09 19:15:39
【问题描述】:

我不确定问题出在哪里,但是当我在网络摄像头上四处走动时,它会捕捉到我的脸,但它不是我运动的镜子,它是向后/倒置的。

有谁知道如何解决这个问题?

def Webcam(webcam, classifier, downScale):
        
        if webcam.isOpened():
                rval, frame = webcam.read()
        else:
                rval = False

        while rval:
                # detect faces and draw bounding boxes
                minisize = (frame.shape[1]/downScale,frame.shape[0]/downScale)
                miniframe = cv2.resize(frame, minisize)
                faces = classifier.detectMultiScale(miniframe)
                for f in faces:
                        x, y, w, h = [ v*downScale for v in f ]
                        cv2.rectangle(frame, (x,y), (x+w,y+h), (0,0,255))
         
                cv2.putText(frame, "Press ESC to close.", (5, 25),
                                        cv2.FONT_HERSHEY_SIMPLEX, 1.0, (255,255,255))
                cv2.imshow("Face Crop", frame)
         
                # get next frame
                rval, frame = webcam.read()
         
                key = cv2.waitKey(10)
                if key in [27, ord('Q'), ord('q')]: # exit on ESC
                        break   

【问题讨论】:

    标签: python opencv webcam


    【解决方案1】:

    相机不是镜子。

    但是你可以很容易地flip() 它表现得像一面镜子:

    rval, frame = webcam.read()
    frame = cv2.flip(frame,1)
    

    【讨论】:

    • 这是一个正确的概念,但由于某种原因它对我不起作用......我确实将其缩小为 X 轴问题,因为 Y 轴是正确的。问题可能是我在笔记本电脑上使用前置摄像头吗?还是我必须传入一个 dst 值?
    【解决方案2】:

    rval, frame = webcam.read()

    frame = cv2.flip(frame,0)

    cv2.flip() 参数中,如果要在 y 轴上翻转,请尝试使用 0,如果要在 x 轴上翻转,请尝试使用 1,如果要在两个轴上翻转,请尝试使用 -1。

    @berak flip() 提供的文档中明确提到了这一点

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多