码迷,mamicode.com
首页 > 编程语言 > 详细

Python OpenCV 图像的基础操作

时间:2018-07-31 10:57:54      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:otto   像素   img   replicate   矩阵   pen   color   make   优化   

 

 

获取像素值并修改

#获取指定坐标的像素值
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 图像的基础操作

标签:otto   像素   img   replicate   矩阵   pen   color   make   优化   

原文地址:https://www.cnblogs.com/wbyixx/p/9393853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!