opencv的安装十分简单,在配置好python的环境下在命令行输入pip install opencv-python
(若在linux环境下需注意pip的版本是pip还是pip3)如下图,若以安装过,就会出现一下所示。
首先我们需要对图像有一个简单的认识,每一幅图像都是一个大矩阵,矩阵上的每一个点就是像素点。openCV提供了imread()函数可以用来读取图像,如下所示:
首先我们准备一张图像test.png.然后新建python文件并放在同一个目录下(主要是为了让python可以读取到这个文件),python文件中代码如下
import cv2
img = cv2.imwrite('test.png', 0)
''' 0的含义就是表示该图像以灰度模式加载进来
区分黑白图像,灰度图像和彩色图像(rgb)
黑白图像只有黑白两个颜色,灰度图像除了黑白,还有黑白之间的不同深度的灰色颜色
彩色图像就是平时所说的rgb图像
imread()函数里边0表示灰度图,1表示彩色
'''
print(img)
我们可以看到运行结果
就是一个巨大的矩阵,我们看矩阵(1,1)位置表示像素值是168
下面我们打印img[0][0]
就是表示的矩阵(1,1)的位置的像素值168.
同样的流程我们用彩色模式加载一次
结果有点长,我复制出来
[[[249 182 59]
[250 182 59]
[250 182 59]
...
[251 249 232]
[252 250 233]
[250 250 233]]#这是第一行的数据
[[247 180 58]
[248 181 58]
[249 182 60]
...
[252 251 232]
[253 251 232]
[251 251 232]]#这是第二行的数据
[[248 180 60]
[249 182 59]
[250 182 62]
...
[254 253 232]
[254 253 232]
[253 253 232]]#这是第三行的数据
... #此处省略了n行
[[156 125 92]
[161 123 92]
[167 127 96]
...
[111 117 120]
[162 168 171]
[133 138 139]]#倒数第三行数据
[[205 176 142]
[216 185 156]
[207 175 149]
...
[118 126 130]
[135 143 147]
[ 78 83 86]]#倒数第二行数据
[[225 209 192]
[219 206 195]
[220 212 193]
...
[158 163 172]
[130 133 142]
[161 162 166]]]#倒数第一行数据
可以看到,这次每一个像素点都成了三个数,他们分别表示bgr(这里要千万注意是和RGB反过来的BGR),也就是我们平时所说的rgb图像,我们通过打印来分析一下
可以看到结果分别对应前三行的第一个像素的结果
openCV还提供了imshow()方法来显示图像,以及imwrite()方法来存储图像,下面我们分别以灰度和彩色的形式,来展示一下图像。
imwrite()则是把图片保存起来,用法如下
cv2.imwrite('test2.png', img)
附注:关于imgread()和imwrite()的小用法之----图像格式之间的转换,请参考python之png与jpg之前的转换