用迅为RK3568开发板使用OpenCV处理图像颜色通道提取ROI

本小节代码在配套资料"iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程

\04_OpenCV 开发配套资料\07"目录下,如下图所示:

在计算机的色彩图像中存有三个通道,即 BGR 通道,根据三个颜色通道的亮度值来显示出不同的颜色,通过 imread()函数读取图像文件之后,图像信息会保存到对应的变量中,以下面的代码为例读取到的信息会被保存到 img 变量中,

img = cv2.imread('lena.png',1)

在上一小节中通过对 img 变量数组中的前两个参数进行范围设定,以此进行位置提取,而第三个参数是颜色通道的设定,三个通道对应如下:

蓝色通道 img::0

绿色通道 img::1

红色通道 img::2

如果只是想显示单色通道,将其他两个通道设定为 0 即可。

实验:

实验要求:

对一张彩色图片进行读取显示,分别显示只有蓝色通道、只有绿色通道及只有红色通道的图片。

实验步骤:

首先进入到 ubuntu 的终端界面将"iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程\04_OpenCV 开发配套资料\07"路径下的 lena.png 文件拷贝到 ubuntu 虚拟机上,拷贝完成如下图所示:

输入以下命令来创建 demo07_cut.py 文件,如下图所示:

vim demo07_cut.py

然后向该文件中添加以下内容:

1 import cv2 #opencv 的缩写为 cv2,导入 opencv

2 img = cv2.imread("lena.png") #使用 imread 函数读取名为 lena.png 的图片

3 img_b = img#蓝色图像定义

4 img_b:,:,1 = 0 #将绿色通道取消

5 img_b:,:,2 = 0 #将红色通道取消

6 cv2.imshow('蓝色图像',img_b)#使用 imshow 函数展示蓝色图像

7 img = cv2.imread("lena.png") #使用 imread 函数读取名为 lena.png 的图片

8 img_g = img#绿色图像定义

9 img_g:,:,0 = 0 #将蓝色通道取消

10 img_g:,:,2 = 0 #将红色通道取消

11 cv2.imshow('绿色图像',img_g)#使用 imshow 函数展示绿色图像

12 img = cv2.imread("lena.png") #使用 imread 函数读取名为 lena.png 的图片

13 img_r = img#红色图像定义

14 img_r:,:,0 = 0 #将蓝色通道取消

15 img_r:,:,1 = 0 #将绿色通道取消

16 cv2.imshow('红色图像',img_r)#使用 imshow 函数展示红色图像

17 cv2.waitKey(0)

保存退出之后,在终端界面中输入以下命令进行 python 代码的运行,运行结果如下图所示:

python demo07_cut.py

相关推荐
zixu_star12 分钟前
上下文工程:Prompt、记忆和上下文如何管理?
人工智能·prompt
ZONGYUAN-ROOT17 分钟前
【3D仿真数据集】从“能生成”到“能用”:面向工业仿真的3D资产自治自愈流水线全链路落地
人工智能
深蓝AI28 分钟前
Gemini Decisions API 来了:一次前向打分取代逐字解码,校准误差 0.0250 才是 agent 分支调用的真门槛
人工智能·后端
深蓝AI38 分钟前
Meta 开源用了八年的设计系统 astryx:连坐两天 GitHub 总榜第一,组件库开始写给 agent 的说明书
前端·人工智能
量化分析码农1 小时前
股票API 日线、周线、月线与分钟级返回结构差异:一份统一解析代码
人工智能
这个DBA有点耶1 小时前
MCP隔离层+行级语义审计+输出校验:AI访问数据库的安全边界拆解
数据库·人工智能·ai编程
IT_陈寒1 小时前
Vue的watch把我坑惨了,原来要这样用才靠谱
前端·人工智能·后端
`流年づ2 小时前
策略梯度(Policy Gradient)
人工智能
疯华整猫2 小时前
删掉 LeakCanary 那天,我用 Trae 自己撸了一套:最难的不是分析堆,是决定什么时候 dump
android·人工智能·性能优化
慢慢来不要急2 小时前
Anthropic 弃用 Git 自建源码控制系统 · 11-11
人工智能·开发工具