读书人

用C++图片如何灰度化

发布时间: 2013-01-11 11:57:35 作者: rapoo

用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);

读书人网 >C++

热点推荐