gpt4 book ai didi

c - OpenCV:调整图像大小

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:08 24 4
gpt4 key购买 nike

我似乎错过了什么,但我不明白如何调整图像的大小。这是代码:

#include <opencv2\core\core.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <opencv2\highgui\highgui.hpp>

using namespace cv;

int main(int argc, char* argv[])
{
IplImage* src = NULL;
IplImage* dst = NULL;
src = cvLoadImage("image.tif");
dst = cvCreateImage(cvSize( src->width / 10, src->height / 10 ), src->depth, src->nChannels );

resize(src, dst, dst->nSize, 0.1, 0.1, CV_INTER_AREA );

return 0;
}

但是这段代码只会导致编译器错误:

error C2664: 'cv::resize' : cannot convert parameter 1 from 'IplImage *' to 'cv::InputArray'

谁能告诉我这里出了什么问题?我的意思是如何从 IplImage 创建 InputArray?

谢谢,基督徒

最佳答案

您混淆了 OpenCV C 和 C++ 函数。如果您使用 C++ 编程,您应该使用 Mat存储图像数据的类。另一方面,如果您使用纯 C,则应该使用函数 cvResize调整 IplImage 的大小。

如您在 OpenCV API 文档中所见,每个函数都有一个 C 和 C++ 编程接口(interface)。它们基本上做同样的事情,您当然可以在 C++ 中使用 C 函数,但是您不能将 C OpenCV 结构(如 IplImage)与 C++ OpenCV 函数(如 resize())一起使用。

This简介描述了OpenCV C++ API的基本概念。

关于c - OpenCV:调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12232749/

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