gpt4 book ai didi

c++ - OpenCV - 找不到指定扩展的编码器

转载 作者:IT老高 更新时间:2023-10-28 21:35:33 40 4
gpt4 key购买 nike

这是我用来将 *IplImage 转换为 jpg 的代码:

IplImage* fIplImageHeader;
fIplImageHeader = cvCreateImageHeader(cvSize(160, 120), 8, 3);
fIplImageHeader->imageData = (char*) memblock;

vector<int> p;
p.push_back(CV_IMWRITE_JPEG_QUALITY);
p.push_back(10);
vector<unsigned char> buf;
cv::imencode("JPEG", fIplImageHeader, buf, p);

cvReleaseImageHeader(&fIplImageHeader);

但我收到此错误:

OpenCV Error: Unspecified error (could not find encoder for the specified extension) in imencode, file /build/buildd/opencv-2.1.0/src/highgui/loadsave.cpp, line 409

在抛出 'cv::Exception' 的实例后调用终止 what():/build/buildd/opencv-2.1.0/src/highgui/loadsave.cpp:409: error: (-2) 在函数 imencode 中找不到指定扩展的编码器

这是为什么呢?我安装了 OpenCV 2.1。这很有效,显然 jpg 编码器必须在那里:

cvSaveImage("/home/richard/im.jpg", fIplImageHeader);

最佳答案

好的。我已经想通了。这有效:

cv::imencode(".jpg", fIplImageHeader, buf, p);

他们应该在文档中的某处提到,在扩展之前应该有一个句号。

关于c++ - OpenCV - 找不到指定扩展的编码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4254460/

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