Mat上的OpenCV Java算术动作

时间:2015-06-09 21:37:42

标签: java opencv math

我需要将代码从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;

1 个答案:

答案 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); } } 课程除了包装之外还提供超过标准浮动和双重类型的内容。似乎很多工作都没有价值。

库中有MatObjectComplex个数字类可以提供特殊值,但是没有一个可以重载运算符。你必须使用流畅的风格和写方法。

刚刚使用Google检查了OpenCV。您是否在询问如何扩展现有的Java API?