我需要将代码从c ++转换为Java。当我开始转换使用算术动作改变Mat对象数据的代码时出现问题。我怎么能用Java做这些动作:
MatOfFloat diff_im = <initialization>
MatOfFloat add_im = <initialization>
int c = 200;
MatOfFloat o = diff_im/(add_im/2);
MatOfFloat uf = 128 + c*o;
答案 0 :(得分:0)
你不能用Java做到这一点。与C ++不同,您无法为对象重载运算符。你做这样的事情来使用流利的风格:
BaseMetroWindow
我想知道你的public class MathDouble {
private double value;
public static void main(String [] args) {
MathDouble x = new MathDouble(5);
MathDouble y = new MathDouble(6);
System.out(x.add(y));
}
public MathDouble(double v) { this.value = v; }
public MathDouble add(MathDouble c) {
return new MathDouble(this.value + c.value);
}
public String toString() { return Double.toString(this.value); }
}
课程除了包装之外还提供超过标准浮动和双重类型的内容。似乎很多工作都没有价值。
库中有MatObject
和Complex
个数字类可以提供特殊值,但是没有一个可以重载运算符。你必须使用流畅的风格和写方法。
刚刚使用Google检查了OpenCV。您是否在询问如何扩展现有的Java API?