使用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(); }
相关推荐
利用java+Opencv提取图片的颜色矩特征,运行前提是已经在eclipse中配置好Opencv
本教程将围绕如何在MFC环境下使用OpenCV来显示视频和图片进行详解。 首先,我们需要确保已经正确安装了OpenCV库,并将其添加到VS2013项目中。这包括设置项目的包含目录、库目录以及链接器输入。在“项目属性”中,...
opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接...
### OpenCV提取三单独颜色通量(RGB)的知识点 #### 一、OpenCV简介 OpenCV(开源计算机视觉库)是一个跨平台的计算机视觉和机器学习软件库,提供了大量的图像处理和计算机视觉功能,包括分割、分类、物体检测、...
python3-opencv提取图片中的黄色区域的部分,先转成HSV格式然后像素与操作
在OpenCV中,处理RGB图像是一项基础任务,这通常涉及到从图像中提取红色(R)、绿色(G)和蓝色(B)分量。本篇文章将深入探讨如何使用OpenCV获取RGB分量,并对提供的代码进行详细解析。 首先,我们需要了解OpenCV...
从静态的视频帧中获取的人物图片先二值化,再利用开操作闭操作以及轮廓填充,获取人物轮廓
### OpenCV视频提取轮廓知识点详解 #### 一、OpenCV简介 OpenCV(开源计算机视觉库)是一款跨平台的计算机视觉和机器学习软件库。它轻量级而且高效——由一系列优化过的C函数组成,并使用C/C++进行封装。同时提供了...
OpenCV HSV颜色识别是计算机视觉领域中的一种常用技术,它基于HSV颜色模型,该模型更加符合人类对颜色的直观理解。HSV(Hue, Saturation, Value)颜色模型是一种将颜色表示为色调、饱和度和明度的方式,与RGB模型...
5. **显示或保存**:服务器端可以将接收的图像或视频帧显示出来,或者保存到本地文件。 在提供的压缩包文件中,"Video"可能是包含视频处理代码的文件夹,里面可能有实现上述功能的C++源代码文件。这些文件可能包括...
②利用Opencv改变图片的分辨率(默认是缩小为原来一般的分辨率)并显示在mfc对话框一个图片控件中。 ③保存。对话框有一个保存按钮。用于保存更改了分辨率之后的图片。(对于更改了之后的图片。又可以再次执行相同的...
在OpenCV库中,我们可以利用其强大的图像处理和计算机视觉功能来从视频中提取图片,并进行人脸识别。这个过程涉及到几个关键的步骤和技术,包括视频读取、帧处理、人脸检测和图片保存。以下是对这些知识点的详细说明...
在这个主题中,我们将探讨如何使用OpenCV从视频文件中提取图像,并将它们保存到特定的文件夹中。这个过程对于视频分析、帧处理、特征检测或任何需要逐帧处理视频的应用程序都非常有用。 首先,你需要在你的项目目录...
本项目聚焦于一个特定的应用场景,即“OpenCV图片转视频程序”,它利用OpenCV的功能将一系列静态图片合并成一个连续的视频流。下面我们将深入探讨这个程序的工作原理、涉及的关键技术和实现步骤。 首先,我们需要...
用于将摄像头中得到的图像中的一条标记线(一条黑色纸带)提取并计算其数学表达式(y=kx+b),为机器人导航。使用了中值滤波,二值化,迭代法确定阈值,腐蚀膨胀,多线程,线性回归,均衡化(有代码,但没有调用)等...
**OpenCV与MFC结合实现图片显示** OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它包含了各种图像处理和计算机视觉的算法。MFC(Microsoft Foundation Classes)是微软提供的一套面向...
此外,如果需要处理用户交互,如关闭图像或加载新图片,你可以覆盖`OnOK()`或`OnCancel()`函数,并调用`cv::destroyWindow("MFC Image Display")`来关闭OpenCV窗口,或者重新加载图片。 总的来说,通过结合MFC和...
通过分析源代码,你可以更深入地理解OpenCVSharp如何操作视频文件并从中提取图片。这将帮助你在实际开发中实现类似的功能,比如视频分析、运动检测等。 总结起来,OpenCVSharp通过`VideoCapture`和`Mat`对象提供了...
为了运行这段代码,你需要确保已经安装了OpenCV库,并且图片文件与Python脚本在同一目录下,或者提供图片的完整路径。执行程序可能已经封装了这个过程,只需运行即可生成视频。 通过这种方式,我们可以利用OpenCV...
- 使用C++或Python编程语言,结合OpenCV库,可以编写这样的颜色信息提取程序。程序可能包括读取图像、颜色空间转换、设置阈值、轮廓检测等步骤,并可能用`imshow()`函数显示处理结果。 6. **学习资源与实践** - ...