使用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],
[0

这篇博客在ipython环境下展示了基础的图像操作,通过opencv读写图片时,通道顺序为BGR。作者强调虽然高级图像处理库封装良好,但也可能导致对底层原理的不熟悉。内容包括图像数据与原始字节的转换示例。
最低0.47元/天 解锁文章
27万+

被折叠的 条评论
为什么被折叠?



