使用Python-opencv对图像原始数据进行操作
在ipython下进行调试,结果如下
以下是一些很基础的图像操作,虽然现有的图像处理工具很强大,封装的很高级,但正是因为太高级,也导致使用者不了解一些底层的东西,当然也包括我。
"""
参考:《OpenCV3计算机视觉 Python语言实现 第二版》,该书使用的是Python2
"""
In [1]: import cv2
In [2]: import numpy as np
In [4]: img = np.zeros([640,480,3],dtype = np.uint8)
In [5]: img
Out[5]:
array([[[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
...,
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
[[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
...,
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
[[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
...,
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
...,
[[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
...,
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
[[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
...,
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
[[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
...,
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]], dtype=uint8)
In [6]: cv2.imwrite('black.png',img)#RGB888数据要保存成png格式
Out[6]: True
该图即为输出结果。
"""
In [7]: img[:,:,0]
Out[7]:
array([[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[</