gpt4 book ai didi

opencv - 在opencv中将Mat转换为iplimage *

转载 作者:行者123 更新时间:2023-12-02 17:52:23 26 4
gpt4 key购买 nike

我是opencv和c++的新手。 iplimage和iplimage *有什么区别?
我在arg [1]中使用了需要iplimage *的cvHaarDetectObjects。我有一个垫子格式的框架。如何将Mt转换为iplimage *? (我找到了一种将mat转换为iplimage而不是iplimage *的方法)。

真正的一个是:

iplimage* frame=cvLoadImage("1.jpg");
objects = cvHaarDetectObjects( frame, face_cascade, storage, scale_factor, 1 );

但我想使用:
Mat frame;
//some functions are performed on frame
objects = cvHaarDetectObjects( frame, face_cascade, storage, scale_factor, 1 );

最佳答案

IplImage *是图像数据结构IplImage的指针。它在opencv的C API中使用。

在opencv 2.0之后,引入了C++ API,“Mat”结构取代了IplImage。

C API函数接受IplImage *而不是IplImage,而C++ API函数接受Mat。

两种解决方案:

Mat frame;
// apply pre-processing functions
IplImage* frame2 = cvCloneImage(&(IplImage)frame);
objects = cvHaarDetectObjects(frame2, face_cascade, storage, scale_factor, 1 );

要么

使用 C++ API function接受&frame,对haardetectobjects做同样的工作。

关于opencv - 在opencv中将Mat转换为iplimage *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17379789/

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