在 OpenCV、Java 中从 Mat 中减去 double

Posted

技术标签:

【中文标题】在 OpenCV、Java 中从 Mat 中减去 double【英文标题】:Subtracting double from Mat in OpenCV, Java 【发布时间】:2016-01-14 22:03:39 【问题描述】:

我正在尝试实现使用 OpenCV 制作的阈值方法,发布在 here。它是用 C++ 编写的,所以我正在尝试将它自己重写为 Java,用于 android Studio。在这里的代码中有一行:res=1.0-res;。 “res”为Mat(OpenCV矩阵,同:Mat mat = new Mat();)。如何从 res(Java 中的“Mat”格式)中减去 1.0(即“double”格式)?

【问题讨论】:

你试过了吗:Core.subtract(new Scalar(1), res, res) 谢谢,它有帮助。我只是稍微改了一下:Core.subtract(new MatOfDouble(1.0), res, res);。从标量到 MatOfDouble。 很高兴它有帮助。将其发布为答案并接受它 由于某种原因,它不允许我接受我自己的答案:“你可以在 2 天内接受你自己的答案”。好吧,至少每个人都会看到它。 【参考方案1】:

谢谢你,Miki,帮助解决这个问题。应该是这样的:

Core.subtract(new MatOfDouble(1.0), res, res);

【讨论】:

以上是关于在 OpenCV、Java 中从 Mat 中减去 double的主要内容,如果未能解决你的问题,请参考以下文章

在 VS 15.7.5 中从 opencv 3.4.1 悬停在 Mat 上仍然冻结

如何在 OpenCV 2 中从图像中获取通道数?

在 OpenCV 中从 RGB 图像访问通道的更快方法?

在 Java 绑定中循环遍历 OpenCV Mat

在 Java 客户端中创建 Mat 对象,使用 opencv 从 C++ 服务器发送

OpenCV Java入门三 Mat的基本操作