我在树莓派上运行了一段程序,内容是从摄像头捕获画面和在画面上画方块,但是不知为啥画面开始这样鬼畜,上面的画面像这样有点发黄,还一闪一闪的。我用的是树莓派4搭配树莓派摄像头V2,opencv版本是4.2.0。
以下是代码:
- import cv2
- print(cv2.__version__)
- dispW=640#1280
- dispH=360#720
- flip=2
-
- #(If it does not work, try setting to '1' instead of '0')
- cam=cv2.VideoCapture(0)
- cam.set(cv2.CAP_PROP_FRAME_WIDTH,dispW)
- cam.set(cv2.CAP_PROP_FRAME_HEIGHT,dispH)
-
- x=0
- y=0
- step=3
- x_dir=1
- y_dir=1
-
- while True:
- ret, frame = cam.read()
- frame=cv2.rectangle(frame,(x+10,y+10),(x+60,y+60),(255,0,0),-1)
- if(x+10<=0):
- x_dir=1
- if(y+10<=0):
- y_dir=1
- if(x+60>=dispW-1):
- x_dir=-1
- if(y+60>=dispH-1):
- y_dir=-1
- x=x+step*x_dir
- y=y+step*y_dir
- cv2.imshow('nanoCam',frame)
- if cv2.waitKey(1)==ord('q'):
- break
- cam.release()
- cv2.destroyAllWindows()
复制代码
奇怪的是,当我只是捕捉画面,而不画方块的话,画面没有任何问题。
求大神解答我的疑惑。
|