Python图像识别精讲之OpenCV模块(1)

python图像识别精讲之OpenCV模块(1)

写在前面:

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby的支持。

python作为一门高级语言,对于OpenCV的接口已经相对完善,由于作者近期在学习计算机视觉相关内容,便将这些学习过程中的一些心得与大家进行分享.

首先是OpenCV的安装,我们就不过多赘述,教程很多,遇到问题的朋友可以私信我.

首先,想到视觉,我们第一时间想到的肯定是图像,在计算机视觉库中,当然是先对图像进行简单的读取和处理是第一步,就像一般的python模块一样,我们首先了解的是他的读取函数 : imread函数.要读取某个图像,就必须知道其路径,在python中,首先拿到所要读取的图像的路径,在文件的属性中很容易得到他的路径:

复制此路径,在编辑器中先将opencv模块导入,并且调用imread函数:

对应调用以后,赋值给变量img

将他打印出来得到以下结果:

也许这时候有的朋友就会觉得奇怪了,明明都读取了图像,却打印出一个None?!

其实这是一个很容易犯错的地方,python的路径并不支持单斜杠,我们应该在代码中使用双斜杠代替单斜杠,才能得到真正的结果.

至于为什么会得到这么多的二维数组,之后会与大家谈及,这个函数最大的作用就是能够以不同模式读取图片,在函数之后的参数中,设定了各个参数对应的功能.

在文档中,第一个参数为文件路径,第二个参数flags如果取值不一样,对应的读取的文件模式不一样.基本的模式如下更多的特殊模式我们在后期会提及.

flags >0返回一个3通道的彩色图像。

flags =0返回灰度图像。

flags

今天的文章希望大家能够理解并使用OpenCV中imread的作用并且将其应用

千里之行,始于足下,如果大家遇到了问题可以私信我

或者

发布于 22:12

Python 入门

Python 开发

OpenCV

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180321G1TO1J00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券