openCV之图像处理入门

opencv的安装十分简单,在配置好python的环境下在命令行输入pip install opencv-python(若在linux环境下需注意pip的版本是pip还是pip3)如下图,若以安装过,就会出现一下所示。
安装opencv
首先我们需要对图像有一个简单的认识,每一幅图像都是一个大矩阵,矩阵上的每一个点就是像素点。openCV提供了imread()函数可以用来读取图像,如下所示:
首先我们准备一张图像test.png.然后新建python文件并放在同一个目录下(主要是为了让python可以读取到这个文件),python文件中代码如下

import cv2

img = cv2.imwrite('test.png'0)
''' 0的含义就是表示该图像以灰度模式加载进来
    区分黑白图像,灰度图像和彩色图像(rgb)
    黑白图像只有黑白两个颜色,灰度图像除了黑白,还有黑白之间的不同深度的灰色颜色
    彩色图像就是平时所说的rgb图像
    imread()函数里边0表示灰度图,1表示彩色
'''
print(img)

我们可以看到运行结果
result
就是一个巨大的矩阵,我们看矩阵(1,1)位置表示像素值是168
下面我们打印img[0][0]
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()方法来存储图像,下面我们分别以灰度和彩色的形式,来展示一下图像。
gray
color
imwrite()则是把图片保存起来,用法如下

cv2.imwrite('test2.png', img)

附注:关于imgread()和imwrite()的小用法之----图像格式之间的转换,请参考python之png与jpg之前的转换

发布了21 篇原创文章 · 获赞 12 · 访问量 405

猜你喜欢

转载自blog.csdn.net/weixin_44415928/article/details/103937291