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

  • 相关阅读:
    RibbonBar
    windows环境cmake的nmake failed
    数据库迁移-国产化-Oracle迁移至GBase8a(存储过程)
    最高法院,离婚案件判决标准
    Bash脚本实现Linux开机自启Redis,Nginx,MySQL等服务
    Webpack5基础笔记一
    Vuex基础使用存取值+异步请求
    微软数据库的SQL注入漏洞解析——Microsoft Access、SQLServer与SQL注入防御
    C++——string类用法指南
    Java SPI 机制源码级深度理解
  • 原文地址:https://blog.csdn.net/mucheni/article/details/132618734