python+OpenCV图像处理基础
(1)读取图片
通常对于图像的处理是指数字图像的处理,首先需要将图像读入,并且转化成数字矩阵,进而进行研究。
import cv2
import numpy as np
src = cv2.imread('C:/Users/Administrator/Desktop/1.jpg')
print(src)
print(np.shape(src))
首先导入python中配置的OpenCV开源视觉库和numpy科学计算库。
然后用OpenCV中的read函数读入图片,注意图片地址和Windows系统位置显示有点区别“/”与""。
numpy库中的shape为读取矩阵长度。
运行结果如下:
[[[ 83 93 254]
[ 83 93 254]
[ 82 91 254]
...
[ 12 7 6]
[ 12 7 6]
[ 14 6 6]]
[[ 83 93 254]
[ 82 92 253]
[ 82 91 254]
...
[ 12 7 6]
[ 12 7 6]
[ 14 6 6]]
[[ 82 92 253]
[ 82 92 253]
[ 82 92 253]
...
[ 12 7 6]
[ 12 7 6]
[ 14 6 6]]
...
[[137 163 187]
[138 164 188]
[138 163 189]
...
[147 90 68]
[145 91 68]
[145 91 68]]
[[135 159 183]
[135 159 183]
[136 159 185]
...
[146 93 72]
[144 94 71]
[144 94 71]]
[[133 157 181]
[133 157 181]
[134 157 183]
...
[149 99 77]
[149 99 77]
[148 100 76]]]
(1024, 683, 3)
(2)显示图像
import cv2
#读取图片
img = cv2.imread('C:/Users/Administrator/Desktop/1.jpg')
# 先创建一个窗口
cv2.namedWindow('Image')
# 在窗口中显示图像
cv2.imshow('Image', img)
# 最后还要写一句代码,这样就可以使窗口始终保持住
cv2.waitKey(0)
#释放窗口
cv2.destroyAllWindows()
运行结果将会在窗口中显示该图
在读取图片中,imread(‘图片地址’,‘模式参数’)函数可以来控制所读取图片的模式。
模式参数:
0:读入的为灰度图像(即使读入的为彩色图像也将转化为灰度图像)
1:读入的为彩色图像(默认)
(3)复制图像
import cv2
# 读取图片
```python
img = cv2.imread('C:/Users/Administrator/Desktop/1.jpg')
img1 = img.copy()
# 先创建一个窗口
cv2.namedWindow('Image')
# 在窗口中显示图像
cv2.imshow('Image', img1)
# 最后还要写一句代码,这样就可以使窗口始终保持住
cv2.waitKey(0)
cv2.destroyAllWindows()
(4)保存图像
保存图像在OpenCV中采用imwrite函数
import cv2
#读入图片
src = cv2.imread('C:/Users/Administrator/Desktop/1.jpg')
#保存图片
cv2.imwrite('C:/Users/Administrator/Desktop/2.jpg', src, [cv2.IMWRITE_JPEG_QUALITY, 2])
cv2.CV_IMWRITE_JPEG_QUALITY 设置图片格式为.jpeg或者.jpg的图片质量,其值为0—100(数值越大质量越高),默认95