Python OpenCV 图像的基础操作
Posted wbyixx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python OpenCV 图像的基础操作相关的知识,希望对你有一定的参考价值。
获取像素值并修改
#获取指定坐标的像素值 img[i, j]
#修改指定坐标的像素值 img[i, j] = [r, g, b]
Numpy是经过优化了的进行快速矩阵运算的软件包。
所以不推荐逐个像素值进行修改,会很慢。能用矩阵运算就不要用循环
img.item(10, 10, 2)
img.itemset((10, 10, 2), 100)
获取图像的属性
#获取图像的形状 img.shape #返回图像的像素数目 img.size #图像的数据类型 img.dtype
图像ROI
有时候需要对一幅图像的特定区域进行操作。
拆分及合并图像通道
#拆分 b, g, r = cv2.split(img) #合并 img = cv2.merge(b, g, r)
或者
b = img[:, :, 0] g = img[:, :, 1] r = img[:, :, 2] img[:, :, 2] = 0
为图像扩边(填充)
cv2.copyMakeBorder()函数
src:输入图像
top,bottom,left,right:对应边界的像素数目
borderType:边界的类型
cv2.BORDER_CONSTANT:添加有颜色的边界,还需要一个参数
cv2.BORDER_REFLECT:边界元素的镜像
cv2.BORDER_REFLECT_101 或者 cv2.BORDER_DEFAULT:
cv2.BORDER_REPLICATE:重复最后一个元素
cv2.BORDER_WRAP:
value:边界颜色
以上是关于Python OpenCV 图像的基础操作的主要内容,如果未能解决你的问题,请参考以下文章