OpenCV是一个开源的计算机视觉库,里面封装了很多图像处理方面的优秀算法:例如图片轮廓边缘检测,特征点提取…,可以在Windows,Linux,Mac等平台使用;虽然OpenCv是用 C++ 编写的,并且现在主要接口也是 C++ 语言的但,现在该库也同时提供大量面向 python、matlab以及Java。



OpenCV在python是以 cv2 库存在的,安装起来非常简单,同样是利用 pip 安装;



OpenCv在 python中的安装方法:打开命令行或者 Anaconda Prompt 输入以下命令

pip insatll opencv-python   #利用命令行命安装;
conda install opencv-python #利用 Anaconda Prompt 中进行安装

测试一下库是否安装成功,在命令行中启动 python;接着输入 import cv2 没有报错即可代表成功.

C:\Users\dell>python
Python 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation

Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>
OpenC的读写函数介绍
读取图片:cv2.imread(path,flags)
  • path就是需要读取图片的本地位置;
  • 第二个参数 flags 是读取方式,代表的是你所读取的图片是什么样的,这里Opencv把它分为了三类分别是-1,0,1,参数默认为1;
  • 为 1 时,参数为 cv2.IMREAD_COLOR ,图片以RGB的方式读出;
  • 为 0 时,参数为 cv2.IMREAD_GRAYSCALE , 图片以灰质图(黑白)的方式读出;
  • 为 -1 时,参数为 cv2.IMREAD_UNCHANGED ,图片为 alpha 通道的方式读出;
图片展示 cv2.imshow()

cv2.imshow()含有两个参数,第一个指的是要展示图片窗口的名字,第二个就是需要展示的照片,例如:

cv2.imshow('image',img);

在展示之前可以加一行代码,用来防止图片太大,造成图片无法展示的问题:

cv2.namedWindow('window.name',cv2.WINDOW_NORMAL);
cv2.Waitkey(0);
cv2.destoryallwindows();#销毁所有已经创建的窗口;
  • cv2.destorywindow(“windows_name”) * ;用来销毁特定名字的窗口,这里windows_name代表自己准备销毁窗口的名字;
图片写出 cv2.imwrite()

python 中的OpenCV库里里面含有读入、展示函数,当然也有写出函数,是以 imwrite 函数实现,具体使用方法如下:

cv2.imwrite('a.png',img);#将图片以 a.png 的形式写出,

这里的 a.png 当然也可以以路径来进行替换。

img  = cv2.imread('F:/pic_url/a.jpg',0)
img2 = cv2.imread('F:/pic_url/a.jpg',1)
cv2.namedWindow('RGB',cv2.WINDOW_NORMAL)
cv2.namedWindow('GRAY',cv2.WINDOW_NORMAL)
cv2.imshow('RGB',img2)
cv2.imshow('GRAY',img)
cv2.imwrite('F:/pic_url/a_rgb.png',img2)
cv2.imwrite('F:/pic_url/a_gray.png',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

效果图如下:

opencv库里找 opencv库的常用方法有哪些_命令行


保存后的图片:

opencv库里找 opencv库的常用方法有哪些_命令行_02


这几行代码就是对 Opencv库 读写功能的的基本总结;

  • 首先是把 图片a.jpg 分别以 RGB 和灰质图 形式读出,并把读出的内容赋值给 img2 和 img;
  • 创建两个窗口,分别命名为 RGB 和 GRAY ,创建形式就是以 NORMAL_WINDOW 的形式(系统自定义合适的窗口大小);
  • 分别在 RGB 和 GRAY 窗口中展示 img2 和 img 的内容;
  • 把 img2 和 img 的内容存入 rgb.png 和 gray.png 两张图片当中;
  • 等待用户命令;
  • 销毁所有已经创建的窗口;