写在前面:

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函数:

import numpy

import cv2

img = cv2.imread('D:\Python\3.jpg')

print(img)

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

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

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

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

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

在文档中,第一个参数为文件路径,第二个参数flags如果取值不一样,对应的读取的文件模式不一样.基本的模式如下更多的特殊模式我们在后期会提及.flags >0返回一个3通道的彩色图像。

flags =0返回灰度图像。

flags <0返回包含Alpha通道的加载的图像。

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

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

或者

添加我个人QQ:2533524298

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐