opencv 图像基本操作 获取图像大小ROI操作通道分割与合并等

Posted 我坚信阳光灿烂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv 图像基本操作 获取图像大小ROI操作通道分割与合并等相关的知识,希望对你有一定的参考价值。

opencv中的图像基本操作方法

访问和修改图像某像素点的值

函数

a=img[y,x] #获取像素点的值
img[y,x]=b #修改像素点的值

实例

import cv2 as cv
import numpy as np

img = cv.imread(‘baby.png‘)
px = img[50,100]
print(px)	# output:[76,94,94]

# 只获取图像蓝色通道的值
img[50,100] = [0,0,255]
print(px)	# output:[0,0,255]

获取图像属性

获取图像形状

height, width, channels = img.shape

获取图像的数据类型

img.dtype #图像数据类型一般为uint8

获取图像总像素数

img.size # height x width x channels

ROI(Region of Interest)

讲解ROI

ROI即感兴趣区域。它是用来干什么的呢?举个例子,我们想检测人眼,这里有一张人的全身照。因为人的眼睛一定在人脸上,我们可以将ROI调整为人脸区域。这样,在进行检测时,检测的范围大大缩小,可以有效地提高程序的运行效率。

ROI实现

face = img[100:200,115:188]

通道分割与合并

彩色图的BGR三个通道是可以分开单独访问的,也可以将三个单独的通道合并成一幅图像。分别使用 cv.split() 和 cv.merge()
b,g,r = cv.split(img)
img = cv.merge((b,g,r))
split() 函数比较耗时,我们可以使用索引来完成快速分割
b = img[ :, :, 0] #获取图像蓝色通道

以上是关于opencv 图像基本操作 获取图像大小ROI操作通道分割与合并等的主要内容,如果未能解决你的问题,请参考以下文章

VC6.0中用openCV函数对图像的操作求大神回答!

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

OpenCV学习笔记3基础:图像基本操作

OpenCV学习笔记3基础:图像基本操作

OpenCV学习笔记3基础:图像基本操作

OpenCV学习笔记3基础:图像基本操作