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 图像的基础操作的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

Python OpenCv学习基础知识四

AI基础python:openCV——图像算术运算

18KW13/5-OpenCV入门-图像处理的一些基础操作

基于python3+opencv3图像基础IO操作

AI基础python:openCV——图像算术运算:按位运算