请查看以下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,并且它们可以工作。我想问题是指针current
? current
必须是指针,因为局部变量以令人难以置信的方式减慢了应用程序。
那么,我该如何解决这个问题并获得投资回报率?
答案 0 :(得分:3)
请扔掉那些指针!
你将破坏内部Mat refcounts的破坏,产生未定义的行为和memleaks
“本地变量以令人难以置信的方式减慢了应用程序。”
你认为,复制一个58字节的结构是真的吗?我只是不相信你。
无论如何,我会给你一个提示 - ()运算符的优先级高于*运算符。