gpt4 book ai didi

c - OpenCV,cvCvtColor : null array pointer is passed in function cvgetmat

转载 作者:行者123 更新时间:2023-11-30 15:21:36 24 4
gpt4 key购买 nike

我从 openCV 开始,我必须将它用于学校的一个项目。我在 Windows 上使用 CodeBlocks。

我正在尝试编写一个非常简单的函数,将 RGB 格式的图像转换为 HSV 格式,然后显示色调 channel 。

long traiter_image(IplImage* Image)
{
IplImage* ImHSV = 0;
IplImage* chans[3];
cvCvtColor(Image, ImHSV, CV_BGR2HSV); // BGR to HSV

// split channels
cvSplit (ImHSV, chans[0], chans[1], chans[2], NULL);
Afficher("Teinte",chans[0]); // Display Hue

return 0;
}

我没有任何构建错误,但是当我执行代码时,会出现一个窗口,告诉我“函数 cvgetmat 中传递了空数组指针”。问题来自于 cvCvtColor 函数,但我不知道如何解决它......

最佳答案

调用 cvCvtColor() 之前,您应该为输出图像创建内存,其大小和深度应与输入图像相同。

对于您的情况,应该是:

IplImage* ImHSV = cvCreateImage(cvGetSize(Image), IPL_DEPTH_8U, 3);
cvCvtColor(Image, ImHSV, CV_BGR2HSV); // BGR to HSV

关于c - OpenCV,cvCvtColor : null array pointer is passed in function cvgetmat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29539490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com