使用OpenCV可以提分别提取显示一张图片(或者视频)的R,G,B颜色分量。效果如下。

原图:

R:

G:

B:

示例代码如下,貌似很久以前网上找的的,逻辑很清晰,就是把R,G,B三个分量分开,然后显示出来,就不注释了。

#include "cv.h"
#include "highgui.h"
#include <cxcore.h>void main(int argc,char **argv)
{IplImage *img=cvLoadImage("test.bmp",1);IplImage *channel_r=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);IplImage *channel_g=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);IplImage *channel_b=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);IplImage *img_r=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3);IplImage *img_g=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3);IplImage *img_b=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3);cvSplit(img,channel_b,channel_g,channel_r,NULL);cvMerge(channel_b,0,0,0,img_b);cvMerge(0,channel_g,0,0,img_g);cvMerge(0,0,channel_r,0,img_r);cvNamedWindow("ImageOrigin",CV_WINDOW_AUTOSIZE);cvNamedWindow("Image_R",CV_WINDOW_AUTOSIZE);cvNamedWindow("Image_G",CV_WINDOW_AUTOSIZE);cvNamedWindow("Image_B",CV_WINDOW_AUTOSIZE);cvShowImage("ImageOrigin",img);cvShowImage("Image_R",img_r);cvShowImage("Image_G",img_g);cvShowImage("Image_B",img_b);cvSaveImage("img_red.bmp",img_r);cvSaveImage("img_green.bmp",img_g);cvSaveImage("img_blue.bmp",img_b);cvWaitKey(0);cvReleaseImage(&img);cvReleaseImage(&img_r);cvReleaseImage(&img_g);cvReleaseImage(&img_b);cvDestroyAllWindows();
}

OpenCV提取显示一张图片(或者视频)的R,G,B颜色分量相关推荐

  1. b g opencv读入的图片 r_OpenCV提取显示一张图片(或者视频)的R,G,B颜色分量

    使用OpenCV可以提分别提取显示一张图片(或者视频)的R,G,B颜色分量.效果如下. 原图: R: G: B: 示例代码如下,貌似很久以前网上找的的,逻辑很清晰,就是把R,G,B三个分量分开,然后显 ...

  2. opencv提取视频帧,将多张图片组合成视频(C++)

    OpenCV-视频处理-视频处理5191 2 opencv提取视频帧,将多张图片组合成视频(C++) 作者:bit452 参考:http://blog.sina.com.cn/s/blog_5f593 ...

  3. OpenCV入门系列(4):显示一张图片和一个视频

    显示一张图片,对于我们来说是很容易理解的事情.但播放一个视频,感觉就很神秘很有技术含量了. 然而今天看了<学习OpenCV中文版>中的两个小例子后,惊呼,原来如此,居然这么简单!就是我们经 ...

  4. android 查看多个图片,android提取视频多张图片和视频信息

    android提取视频多张图片和视频信息 话说2016年的直播比较火,2017年短视频又火了.但对于开发者来说隐藏在这背后的技术才是我们所关心的,毕竟我们是靠技术吃饭的. 现在在安卓中多媒体服务比较强 ...

  5. OpenCV C++入门,读取和显示一张图片

    文章目录 一.OpenCV C++入门,读取和显示一张图片 二.代码如下 三.类和函数介绍 一.OpenCV C++入门,读取和显示一张图片 OpenCV入门程序,简单显示一张图片. 二.代码如下 # ...

  6. 科研日志——使用opencv提取视频中的人脸

    科研任务需要,将视频中与文字和音频对应的视频帧根据时间戳提取出来,并截取视频帧中的人脸.使用的工具是opencv,步骤如下: 1. 提取视频帧 Sentence标号的含义 数据集中对视频中的每个sen ...

  7. Python,OpenCV提取图片中的多个茄子种子轮廓,并按从左到右排序后显示

    Python,OpenCV提取图片中的多个茄子种子轮廓,并按从左到右排序后显示 1. 效果图 2. 源码 写这篇博客源于博友的提问,期望把下图中的多个茄子种子按从左到右的顺序提取出来: 1. 效果图 ...

  8. Ubuntu创建opencv工程并显示一张图片

    https://blog.csdn.net/qq_30155503/article/details/79434863 注意事项: https://github.com/opencv/opencv_co ...

  9. 【opencv系列03】OpenCV4.X视频捕获与显示

    点击上方"AI搞事情"关注我们 一. 视频获取与显示 VideoCapture类实现视频获取,可以从摄像头或者文件进行视频读取.首先,创建一个VideoCapture对象,参数可以 ...

最新文章

  1. html当作附件发送,MIME以HTML文件作为附件发送电子邮件?
  2. 实例分析C语言中strlen和sizeof的区别
  3. python文本去重_Python做文本按行去重的实现方法
  4. 使用纯粹的ABAP位操作实现两个整数相加
  5. Android One和Android Go有什么区别?
  6. 领航机器人广告段子_医院机器人物流广告词_段子网收录最新段子
  7. mysql 插入慢_Mongodb 与 MySQL对比
  8. 死磕算法!精选35篇算法设计实例+6本必读书打包送你
  9. 简短python代码--实现一个爱心Love
  10. Camera 驱动 Bringup
  11. oracle的sqlplus命令讲解,SQL*PLUS使用 - Oracle sqlplus命令详解_数据库技术_Linux公社-Linux系统门户网站...
  12. objectc foundation class hierachy
  13. Raspberry Pi
  14. 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(实现篇)
  15. YOLOv5改进之八:非极大值抑制NMS算法改进Soft-nms
  16. Java新手小白入门篇 Java项目的构建
  17. Artificial Intelligence -- Chapter 12 Intro to Machine Learning
  18. 修复duilib库UISlider控件的4个bug
  19. 曾经面试的一个关于文件操作的上机题
  20. 一个不错的pdf转换器

热门文章

  1. Bailian2937 异常细胞检测【水题】
  2. 太原理工大学荣获2020(第二届)集成电路EDA设计精英挑战赛一等奖
  3. HDU2561 第二小整数【水题+序列处理】
  4. 51Nod-1013 3的幂的和【快速模幂+逆元】
  5. 面向对象特性、使用面向对象编程的场合
  6. Python 基础 —— time(时间,日期)
  7. 【笔试/面试】排列组合与概率计算(二)
  8. C语言宏的特殊用法和几个坑
  9. oracle call 存储过程 带out_详解oracle数据库存储过程调试方法
  10. python安装步骤-从0到1,Python安装步骤详解(附基础知识简介)!