OpenCV提取显示一张图片(或者视频)的R,G,B颜色分量
使用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颜色分量的更多相关文章
- Matlab 提取R,G,B颜色分量
>> im = imread('ny.png'); >> r = im(:,:,1); >> g = im(:,:,2); >> b = im(:,:, ...
- Python+OpenCV图像处理(一)——读取显示一张图片
先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.csdn.net/u011321546/article/category/7495016/2? ...
- opencv实例一:显示一张图片
第一个简单的实例,显示一张图片: 1)代码如下 /*************************************************************************** ...
- @Html.Raw显示一张图片
在ASP.NET MVC中,显示一张图片,是很方便的事情,完全可以在控制器中组合html代码,并传给视图. 下面一个简单的例子: public ActionResult HtmlRawImage() ...
- opencv提取截获图像(总结摘来)
opencv提取截获图像(总结摘来) http://blog.csdn.net/wuxiaoyao12/article/details/7305865 版权声明:本文为博主原创文章,未经博主允许不得转 ...
- 仿AS语法来写HTML5—第1章,显示一张图片
最近开始学习html5,因为一直都是研究as,所以还是觉得as顺眼一点,但是html5也不能不学,于是就想出了,可以把html5用as的语法来写出来,做游戏应该来的比较顺手一些,下面开始第一篇 第一篇 ...
- swiper轮播问题之二:默认显示3张图片,中间显示全部两边显示部分
其二:项目遇到比较有点要求的轮播图,默认显示3张图片,中间显示全部,两边显示部分.如图: 网上找了也没有找到合适的,最后经过自己摸索写了出来,贴出代码分享给大家. CSS .swipe ...
- 使用Fresco实现简单的显示一张图片
使用Fresco实现显示一张图片 仅仅是下载一张图片,在下载完之前,先显示一张站位图 效果图 源码 下载地址(Android Studio工程):http://download.csdn.net/de ...
- 用仿ActionScript的语法来编写html5——第一篇,显示一张图片
第一篇,显示一张图片 一,代码对比 as代码: public var loader:Loader; public function loadimg():void{ loader = new Loade ...
随机推荐
- SpringMVC 教程 - Handler Method
原文链接:https://www.codemore.top/cates/Backend/post/2018-04-21/spring-mvc-handler-methods 由注解@RequestMa ...
- 推荐几种PHP实现页面跳转的方法
1.PHP实现页面跳转第一种方法 <?php header("Location:http://www.baidu.com"); ?> header()是php内置函数, ...
- MongoDB 删除文档
ongoDB remove()函数是用来移除集合中的数据. MongoDB数据更新可以使用update()函数.在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较 ...
- Spring声明式事务总结
Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...
- 20160225.CCPP体系详解(0035天)
程序片段(01):CircleList.h+CircleList.c+main.c 内容概要:环形链表 ///CircleList.h #pragma once #include <stdio. ...
- Android开发学习之路--基于vitamio的视频播放器(一)
之前也试过vitamio这个库,后来不知道被什么事情给耽搁了,就没继续下去.近来觉得视频还是需要学习一下的,谁让直播那么火呢,就想着写一个简单的视频播放的app先吧.好了那就开始吧,暂时取名为JP ...
- JavaScript DOM详解
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52727448 本文出自:[余志强的博客] 一.DOM概述 D: Do ...
- Swagger API接口管理
介绍 Swagger API框架,用于管理项目中API接口,属当前最流行的API接口管理工具. Swagger功能强大,UI界面漂亮,支持在线测试等! Swagger包 ...
- Angularjs + Bootstrap 制作的一个TODO List
看了一个关于Angularjs的视频,视频内容讲解的是如何制作一款TODO list形式的SPA(Simple Page Application,单页面应用).为了增强理解,下面写了一篇文章,用以复习 ...
- x264源代码简单分析:x264命令行工具(x264.exe)
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...