0
点赞
收藏
分享

微信扫一扫

OpenCV:入门(一)

一,安装

进入虚拟环境,键入

继续键入

当然,你也可以使用conda来进行安装

 

至此,opencv的安装过程结束 。

二,图像的基本处理

1.图像的读取,显示,保存

(1)读取

cv2.imread()方法

import cv2

img = cv2.imread(src,type)

 

在入门篇中,type除灰度转换以外一般不涉及。

好了,语法我们已经了解了,接下来我们来看看实际使用:

import cv2
import numpy as np
import matplotlib.pyplot as plt
if __name__ == '__main__':
img = cv2.imread('street.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imshow('street',img)
cv2.waitKey(0)

 

 

上述代码中就是基本的图像读取与展示,cv2.imshow()是展示图片的方法,必须填入两个参数:图片标题和图片。

cv2.waitKey(0)的用处可以简单理解为一个死循环来维持图片存在,直到键入任意键才会退出循环,如果不加这条语句,图片只会暂存一会。

(2)显示

cv2.imshow()

(3)保存

cv2.imwrite()

2.图像本质

import cv2
import numpy as np
import matplotlib.pyplot as plt
if __name__ == '__main__':
img = cv2.imread('street.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imshow('street',img)
print(img)
cv2.waitKey(0)

 

图像本身由许多像素点组成,而这些像素点又可以理解为介于0-255之间的值,所以一幅500x500的图像可以认为是由500x500的二维数组,当然这仅限与黑白照片,一幅彩色照片由三个颜色通道(r,g,b)组成,相当于三副500x500的图像叠在一起。

当了解图像本质是多维数组后,图片的裁剪,旋转,过滤等后续操作本质就是对数组进行一个数学过程。

(1)截取图片

上面我们已经谈到图片本质是多维数组(mxnx3),既然这样截取图片本质也就是对数组进行切片。

import cv2
import numpy as np
import matplotlib.pyplot as plt
if __name__ == '__main__':
#截取图片
img = cv2.imread('street.jpg')
clipped_img = img[0:200,0:200]
cv2.imshow('street_clipped',clipped_img)
cv2.waitKey(0)

 

如此,我们截取到了左上角200x200的一块区域。

(2)提取颜色通道

import cv2
import numpy as np
import matplotlib.pyplot as plt
if __name__ == '__main__':
img = cv2.imread('street.jpg')
b,g,r = cv2.split(img)
print("b:")
print(b)
print("g:")
print(g)
print("r:")
print(r)

 

与上文相符,b,g,r三个颜色通道简单来讲就是三个二维数组。 

 

3.杂项

(1)waitKey函数

目前基本使用waitKey(0),方便我们的测试。

(2)destroyWindow函数

 

  (3)destroyAllWindows函数

 

 

 

举报

相关推荐

0 条评论