Python/OpenCV网络摄像头向后移动

Python/OpenCV网络摄像头向后移动,python,opencv,webcam,Python,Opencv,Webcam,我不确定问题是什么,但当我在网络摄像头上四处走动时,它捕捉到我的脸,但它不是我动作的镜子,而是向后/倒置的 有人知道如何解决这个问题吗 def Webcam(webcam, classifier, downScale): if webcam.isOpened(): rval, frame = webcam.read() else: rval = False whil

我不确定问题是什么,但当我在网络摄像头上四处走动时,它捕捉到我的脸,但它不是我动作的镜子,而是向后/倒置的

有人知道如何解决这个问题吗

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   

照相机不是镜子

但你可以很容易地让它表现得像一面镜子:

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

照相机不是镜子

但你可以很容易地让它表现得像一面镜子:

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

rval,frame=webcam.read()

frame=cv2.翻转(frame,0)

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


@berak提供的文档中清楚地提到了这一点,rval,frame=webcam.read()

frame=cv2.翻转(frame,0)

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


@berak提供的文档中明确提到了这一点,这是一个正确的概念,但由于某些原因,它对我不起作用。。。我确实把它缩小为一个X轴问题,因为Y轴是正确的。问题是我在笔记本电脑上使用的是前置摄像头吗?或者我必须传递dst值吗?这是一个正确的概念,但出于某种原因,它不适合我。。。我确实把它缩小为一个X轴问题,因为Y轴是正确的。问题是我在笔记本电脑上使用的是前置摄像头吗?还是必须传入dst值?