0

请看下面的 OpenCV 代码

    Mat *curent;
    current = new Mat();
    cv::Rect bRect = cv::boundingRect(Mat(*points).reshape(2));

    Mat roi = *current(bRect);

在这里,我试图获得名为roi. 但是每当我尝试执行上述代码的最后一行时,我都会收到错误消息term does not evaluate to a function taking 1 arguments。我之前在 C++ 中遵循了相同的技术,在没有指针的情况下多次获得 ROI,并且它们奏效了。我想问题出在指针上currentcurrent必须是指针,因为局部变量以令人难以置信的方式减慢了应用程序的速度。

那么,我该如何解决这个问题并获得投资回报率呢?

4

1 回答 1

3

拜托,扔掉那些指针!

您将对内部 Mat 引用计数造成严重破坏,产生未定义的行为和 memleaks

“局部变量以令人难以置信的方式减慢了应用程序的速度。”

真的,你认为,复制一个 58 字节的结构是原因吗?我只是不相信你。

好吧,无论如何,我会给你一个提示 - ( ) 运算符的优先级高于 * 运算符。

于 2013-07-20T08:12:33.380 回答