【OpenCV】(三)—— 截取图片内容

ROI,全称为region of interest,意为感兴趣的区域,通常为图像中需要特别关注或处理的部分。ROI技术常用于图像分析、目标检测、特征提取等场景,能够帮助减少计算量、提高处理速度和精度。

切片获取ROI图像

我们之前介绍过使用opencv读取图像后的数据为一个numpy数组,这样就可以直接使用切片针对数组进行操作

【示例】利用切片截取部分图片信息

py 复制代码
# 使用切片截取部分图片内容
img = cv2.imread("cat.jpg")
cat = img[0:300,0:500]
cv_show('cat',cat)

不同通道提取

彩色图像通常为RGB三种颜色通道共同构成,但我们在图像处理的时候经常针对单通道进行操作,opencv中提供了split方法直接提取三种颜色通道,但是要注意opencv的图像组成为BGR顺序。

py 复制代码
# 颜色通道提取
img = cv2.imread("cat.jpg")
b,g,r = cv2.split(img)

提取出的三通道大小相同而内容不同

使用merge方法可以将三个通道重新整合起来

py 复制代码
# 把三个通道合并回来
img = cv2.merge((b,g,r))
img.shape

利用上述方法只是得到了某个通道的值,返回的结果是一个二维数组,如果直接进行展示的话会被识别为只有灰度信息,无法使用正确的三维信息进行表示看,想要做到正确的效果,我们还应该在三维中进行处理,比如想要保留b通道信息的话,就利用切片将另外两通道的值置零

py 复制代码
# 只保留R通道,按照cv2中BGR的特性,利用切片将BR通道置零
cur_img = img.copy()
cur_img[:,:,0] = 0
cur_img[:,:,1] = 0
cv_show('R',cur_img)
相关推荐
珠海新立电子科技有限公司2 分钟前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董16 分钟前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦25 分钟前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
余炜yw1 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐1 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
弗锐土豆2 小时前
工业生产安全-安全帽第二篇-用java语言看看opencv实现的目标检测使用过程
java·opencv·安全·检测·面部
如若1232 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr2 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络
ChaseDreamRunner2 小时前
迁移学习理论与应用
人工智能·机器学习·迁移学习
Guofu_Liao2 小时前
大语言模型---梯度的简单介绍;梯度的定义;梯度计算的方法
人工智能·语言模型·矩阵·llama