gpt4 book ai didi

c++ - Mat 和 setMouseCallback 函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:48:04 25 4
gpt4 key购买 nike

我有一个与 IplImage* 一起使用的 my_mouse_callback 示例函数:

void my_mouse_callback(int event, int x, int y, int flags, void* param) 
{
IplImage* image = (IplImage*) param;
switch( event )
{
case CV_EVENT_LBUTTONDOWN:
drawing_box = true;
box = cvRect(x, y, 0, 0);
break;
...

draw_box(image, box);
break;
}

main 中实现如下:

cvSetMouseCallback(Box Example,my_mouse_callback,(void*) image);

问题是,在我的代码中,我使用的是 Mat 对象,它不能以这种方式传输到 setMouseCallback 函数。

我正在寻找一种不涉及将 Mat 转移到 IplImage* 的解决方案。

或者如果没有解决方案,如何将 Mat 正确转换为 IplImage*?

我已经尝试使用 opencv 文档中的这段代码:

Mat I;
IplImage* pI = &I.operator IplImage();

但它没有用。

最佳答案

no equivalent据我所知,该函数在 C++ 接口(interface)中的作用。

但是您可以将 cv::Mat 转换为 IplImage* like this ,反之亦然:

cv::Mat mat(my_IplImage);

关于c++ - Mat 和 setMouseCallback 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8186241/

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