opencv灰度图c++
时间: 2023-09-11 13:07:26 浏览: 111
您好!要将一张彩色图片转换为灰度图,可以使用OpenCV库中的函数来完成。以下是一个使用C语言编写的示例代码:
```c
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui_c.h>
#include <opencv2/imgproc/imgproc_c.h>
#include <stdio.h>
int main() {
// 读取彩色图片
IplImage* colorImg = cvLoadImage("input.jpg", CV_LOAD_IMAGE_COLOR);
// 创建灰度图
IplImage* grayImg = cvCreateImage(cvGetSize(colorImg), IPL_DEPTH_8U, 1);
// 将彩色图转换为灰度图
cvCvtColor(colorImg, grayImg, CV_BGR2GRAY);
// 显示灰度图
cvNamedWindow("Gray Image", CV_WINDOW_AUTOSIZE);
cvShowImage("Gray Image", grayImg);
// 等待按下任意键后关闭窗口
cvWaitKey(0);
// 释放内存
cvReleaseImage(&colorImg);
cvReleaseImage(&grayImg);
cvDestroyAllWindows();
return 0;
}
```
请确保在编译和运行代码之前,已将OpenCV库正确安装并配置好。在代码中,我们首先使用`cvLoadImage`函数加载彩色图片,然后创建一个相同大小的灰度图像。接下来,使用`cvCvtColor`函数将彩色图像转换为灰度图像。最后,我们显示灰度图像,并等待按下任意键后关闭窗口。记得将代码中的`input.jpg`替换为您要转换的图片路径。希望对您有所帮助!
阅读全文