Python opencv 库
用于计算机视觉的开源库,原始版本为 C++ 语言,Python 内也有 C++ 的移植版。
基本操作
读取图像
使用 cv2.imread(路径) 可以从一个路径读取一幅图像。
对于三通道彩色图,返回形状为 H \times W \times C 的 numpy 数组,且颜色顺序为 BGR。注意不同于一般的约定,这里的通道储存在第三个维度。
如果要使用 matplotlib 显示这样的图片,需要先反转第三个维度,转为 RGB:plt.imshow(img[:, :, ::-1])
显示图像
直接显示一个 numpy 图像:
cv2.imshow('Image', arr)
若图像为浮点数,范围需要在 [0, 1] 之间。
保存图像
使用 cv2.imwrite 保存一幅图像。
图像处理
多值化
使用查找表(Look-Up Table),可以将图像进行多值化。该方法本质上是将 0 \sim 255 的各个灰度值映射为另一个值,调用方法为 cv2.LUT(src, lut)。
例如,以下代码将 img 中 0~106 的颜色映射为 1,将 107~149 的颜色映射为 127,将 150~255 的颜色映射为 255。
lut = np.full(256, 127, dtype=np.uint8)
lut[:107] = 1
lut[150:] = 255
new_img = cv2.LUT(img, lut)
BEYOND THE ARTICLE
读完了,有什么想法?
阅读已保存的问答示例,并循着引用回到原文。
— 本文完 — 返回文章列表