请查看以下OpenCV代码
Mat *curent;
current = new Mat();
cv::Rect bRect = cv::boundingRect(Mat(*points).reshape(2));
Mat roi = *current(bRect);
在这里,我试图获得一个名为roi
的Mat的ROI。但每当我试图执行上面代码的最后一行时,我都会得到错误term does not evaluate to a function taking 1 arguments
。我以前在C++中多次使用相同的技术,在没有指针的情况下获得ROI,它们都起了作用。我想问题出在指针current
上?current
必须是一个指针,因为局部变量以令人难以置信的方式减慢了应用程序的速度。
那么,我该如何解决这个问题并获得投资回报率呢?
你将破坏内部Mat引用计数,产生未定义的行为和内存泄漏
"局部变量以令人难以置信的方式减慢了应用程序的速度。"
你真的认为,复制一个58字节的结构是原因吗?我就是不相信你。
无论如何,我会给你一个提示——()运算符的优先级高于*运算符。