#include <iostream>
#include <string>
#include <opencv/cv.h>
#include <opencv/highgui.h>
using namespace std;
int main(int argc, char** argv)
{
IplImage* src = cvLoadImage("lena.jpg");
if(!src){
printf("Could not load image file: %s\n",argv[1]);
exit(0);
}
//创建2个窗体,分别显示源图像和处理后的灰度图
cvNamedWindow("RGB");
cvNamedWindow("GRAY");
//显示源图像
cvShowImage("RGB",src);
//创建一个源图像一样的IplImage指针
IplImage* dst = cvCreateImage(cvGetSize(src),src->depth,1);
//核心函数:色彩空间转换,转换类型为CV_BGR2GRAY
cvCvtColor(src,dst,CV_BGR2GRAY);
//显示灰度图
cvShowImage("GRAY",dst);
//释放资源
cvReleaseImage(&dst);
//Wait for the user to hit a key, then clean up the windows
cvWaitKey(0);
cvDestroyWindow("RGB
RGB彩色图像与灰度图像转换 opencv实现 代码及分析
最新推荐文章于 2024-09-11 20:42:51 发布
本文介绍了如何使用OpenCV的CvtColor函数将彩色图像转换为灰度图像,包括RGB到灰度的各种色彩空间转换公式,并提到了Bayer模式在CCD和CMOS摄像头中的应用。
摘要由CSDN通过智能技术生成