1)使用cvCvtColor(img_color,img_gray,CV_BGR2GRAY);将彩色图像转换为灰度图像
2)使用cvThreshold(img_gray,img_binary,100,255,CV_THRESH_BINARY);将灰度图像转换为二值图像(该函数只适用于单通道图像)
#include <opencv2\opencv.hpp>
#include <iostream>using namespace cv;
using namespace std;
int main()
{
IplImage*img_color=cvLoadImage("img_color.jpg",1);//原彩色图像(1表示读取彩色图)
//将彩色图像转换为灰度图像,并保存
IplImage*img_gray=cvCreateImage(cvGetSize(img_color),img_color->depth,1);//灰度图像(参数:图像宽、高、像素的位深度和通道数(单通道为灰度图像))
cvCvtColor(img_color,img_gray,CV_BGR2GRAY);
cvSaveImage("img_gray.jpg",img_gray);//保存灰度图像