• OpenCV中各函数解释


    举个例子

    import cv2
    clicked =False
    
    def onMouse(event,x,y,flags,param):
        global clicked
        if event == cv2.EVENT_LBUTTONUP:
            clicked=True
    
    cameraCapture =cv2.VideoCapture(0)
    cv2.namedWindow("MyWindow",0)
    cv2.resizeWindow("MyWindow",640,480)
    cv2.setMouseCallback("MyWindow",onMouse)
    
    print "Showing camera feed.Click window or press any key to stop."
    
    success,frame=cameraCapture.read()
    while success and cv2.waitKey(1)==-1 and not clicked:
        cv2.imshow("MyWindow",frame)
        success,frame=cameraCapture.read()
    cv2.destroyWindow("MyWindow")
    cameraCapture.release()

    一、namedWindow(const String,ing flag)

      Flag=0,表示按原图尺寸显示

      Flag=1,表示窗口可以自适应

    二、waitKey()

      waitKey()与waitKey(0)表示无线等待,针对视频流来说,cv2.waitKey(0)表示只显示当前帧图像,相当于暂停

      waitKey(n)表示等待n毫秒关闭窗口,针对视频流来说,cv2.waitKey(1)表示延时1ms切换到下一帧

      当等待时间内无任何操作,等待结束返回-1

      如果等待时间内有输入字符那么返回该字符的ASCII值

    e.g. while(waitKey(1)!='q'): 或者如上程序while waitKey(1)== -1:

      针对第一个:waitKey(1)表示延迟一秒;while waitKey(1):表示一直延迟;while(waitKey(1)!='q'):表示一直延迟直到键入q时

      针对第二个:前面同理;while waitKey(1)== -1:表示一直延迟,不键入字符。

    三、VideoCapture()和read()

      cameraCapture=cv2.VideoCapture(0)

      success,frame = cameraCapture.read()

      VideoCapture(0)表示打开笔记本内置摄像头,还可以VideoCapture("../test.avi")

      read()函数表示按帧读取视频,success,frame是read()的两个返回值,success是布尔值——如果读取帧是正确的则返回True,如果文件读取到结尾则返回False,Frame表示的是每一帧的图像,是一个三维矩阵

      

  • 相关阅读:
    python生成随机整数
    pycharm怎么修改python路径
    Linux 在 TOP 命令中切换内存的显示单位
    MySQL之limit使用
    Fiddler设置抓取FireFox火狐的包
    火狐FireFox看视频不能全屏显示的问题
    【.Net】exe加密/加壳工具.Net Reactor
    【WPF】使用控件MediaElement播放视频
    【WPF】在MenuItem中下划线“_”显示不正常
    【.Net】Thread.Start()与ThreadPool.QueueUserWorkItem()的区别
  • 原文地址:https://www.cnblogs.com/cc-xiao5/p/11239587.html
Copyright © 2020-2023  润新知