概述
/*彩色图片转为灰度*/
#include <cv.h>
#include <stdio.h>
#include <highgui.h>
int main()
{
IplImage* img1 = cvLoadImage("1234.jpg", -1);
int width, height, depth, channels;
width = img1->width;
height = img1->height;
depth = img1->depth;
channels = img1->nChannels;
IplImage* img2 = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3);
//3通道会报错
cvCvtColor(img1, img2, CV_BGR2GRAY);
cvNamedWindow("Image", CV_WINDOW_AUTOSIZE);
cvShowImage("Image", img2);
char* filename = "2345.jpg";
cvSaveImage(filename, img2, 0);
cvWaitKey(0);
cvReleaseImage(&img1);
cvReleaseImage(&img2);
return 0;
}
报错如下:
发现img2的创建函数中通道数改为1就可以正常显示了,所以灰度图像就只能用1通道。
最后
以上就是玩命萝莉为你收集整理的OpenCV函数之cvCvtColor的全部内容,希望文章能够帮你解决OpenCV函数之cvCvtColor所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复