opencv -GUI接口介绍

来源:互联网 发布:批量查询淘宝小号 编辑:程序博客网 时间:2024/05/22 23:47

 原文: GUI接口之读写保存图像


环境资源准备

  作者使用的是64位的win7 系统

1.   软件及版本

下载opencv-3.2.0-vc14 版本,python 使用 anaconda 2.4 版本,使用3.x版本的anaconda存在兼容性问题(目前opencv版本使用python2.7版本玩的)。

安装Python Anaconda2.4,PyCharm IDE,及opencv,将opencv\build\Python\2.7\x64  目录下的cv2.pyd文件拷贝到Anaconda2\Lib\site-packages下,打开PyCharm

2. 配置 pycharm 解释器

    参考文章 : 配置python解释器

    不配置时,在编写代码时,pycharm 一直提示: “NO python interpreter configured for the project”

   通过如下界面将解释器配置为 anaconda2。

 

   在创建工程,创建新的文件后,在pycharm中并不能立即运行或者debug需要配置Run/Debug


图像文件读写

 1. Read an image

      函数: cv2.imread(dir, flag)

     参数

      dir: 绝对路径或者当前python目录下的图像

       flag选项有三个

      cv2.IMREAD_COLOR : Loads a color image. Any transparency of image will be neglected. It is the default flag.
      cv2.IMREAD_GRAYSCALE : Loads image in grayscale mode
      cv2.IMREAD_UNCHANGED : Loads image as such including alpha channel

      上述三个宏对应的值分别为1, 0,-1

import numpy as npimport cv2# Load an color image in grayscaleimg = cv2.imread('messi5.jpg',0)
   如果read读取时,路径下面没有messi5.jpg文件,也不会报错,而仅仅在print img时,提示none,在进行实际编码时,要判断img的值

2. Display an image

       函数: cv.imshow("window name",image)

       参数

      window name: 打开图像的窗口 名称

      image : 1中读取的图像的句柄

     

cv2.namedWindow('image', cv2.WINDOW_NORMAL)cv2.imshow('image',img)cv2.waitKey(0)cv2.destroyAllWindows()

3. Write an image

    imwrite("dir",img_handler)

   dir: 目录及文件名

  img_handler: 图像句柄


4. 视频播放

  基本原理就是打开窗口,将视频以图画的形式不断显示。waitKey的时间修改为100 ms,相当于慢放。

 

import numpy as npimport cv2cap = cv2.VideoCapture("test.avi")while (cap.isOpened()):    ret,frame = cap.read()    gray =cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)    cv2.imshow('frame',gray)    if cv2.waitKey(100) & 0xff == ord('q'):        breakcap.release()cv2.destroyAllWindows()



其他GUI的操作

GUI接口

包括:

1)视频的抓取、播放、保存接口

2)鼠标事件的感知接口

3)画图形。例如圆,长方形 ,椭圆等

4)调色板功能介绍


0 0
原创粉丝点击