码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-03-28 18:09:00      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:分割   例子   修改   效率   ace   程序   基本   实例   素数   

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操作、通道分割与合并等

标签:分割   例子   修改   效率   ace   程序   基本   实例   素数   

原文地址:https://www.cnblogs.com/wojianxin/p/12588190.html

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