首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

用C++图片如何灰度化

2013-01-11 
用C++图片怎么灰度化就是灰度化 显示一个个数字 我要根据这些数字算出一个矩阵向量 和其他图片的向量进行

用C++图片怎么灰度化
就是灰度化 显示一个个数字 我要根据这些数字算出一个矩阵向量 和其他图片的向量进行比较
[解决办法]
用OpenCV来做非常方便。
1. 直接加载成灰度图:
IplImage *g_pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_GRAYSCALE);  
2. 用cvCvtColor来转换:
IplImage *g_pGrayImage =  cvCreateImage(cvGetSize(pSrcImage), IPL_DEPTH_8U, 1);  
cvCvtColor(pSrcImage, g_pGrayImage, CV_BGR2GRAY); 

详细例子可以参考下面二篇文章:
《【OpenCV入门指南】第三篇Canny边缘检测》
http://blog.csdn.net/morewindows/article/details/8239625
《【OpenCV入门指南】第四篇 图像的二值化》
http://blog.csdn.net/morewindows/article/details/8239678
[解决办法]

引用:
用OpenCV来做非常方便。
1. 直接加载成灰度图:
IplImage *g_pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_GRAYSCALE);  
2. 用cvCvtColor来转换:
IplImage *g_pGrayImage =  cvCreateImage(cvGetSize(pSrcIma……


都用C++了为何不直接用C++的API就好?代码比较简洁,性能也没比较差

//读图
cv::Mat src = cv::imread("lena.png", -1);

//转换颜色
cv::cvtColor(src, src, CV_BGR2GRAY);

热点排行