用迅为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

相关推荐
麦麦麦造17 分钟前
有了 MCP,为什么Claude 还要推出 Skills?
人工智能·aigc·ai编程
jerryinwuhan20 分钟前
利用舵机实现机器人行走
人工智能·机器人
武子康22 分钟前
AI-调查研究-107-具身智能 强化学习与机器人训练数据格式解析:从状态-动作对到多模态轨迹标准
人工智能·深度学习·机器学习·ai·系统架构·机器人·具身智能
沫儿笙22 分钟前
KUKA库卡焊接机器人二氧化碳节气
人工智能·机器人
insight^tkk43 分钟前
【Docker】记录一次使用docker部署dify网段冲突的问题
运维·人工智能·docker·ai·容器
攻城狮7号1 小时前
AI+大数据时代:如何从架构到生态重构时序数据库的价值?
大数据·人工智能·时序数据库·apache iotdb·sql大模型
智能化咨询1 小时前
AI+大数据时代:时序数据库的生态重构与价值跃迁——从技术整合到行业落地
人工智能
paopaokaka_luck1 小时前
基于SpringBoot+Vue的社区诊所管理系统(AI问答、webSocket实时聊天、Echarts图形化分析)
vue.js·人工智能·spring boot·后端·websocket
工藤学编程1 小时前
零基础学AI大模型之RAG系统链路解析与Document Loaders多案例实战
人工智能
大千AI助手1 小时前
加权分位数直方图:提升机器学习效能的关键技术
人工智能·机器学习·xgboost·直方图·加权直方图·特征分裂