【问题标题】:Image processing using java and opencv使用java和opencv进行图像处理
【发布时间】:2013-04-16 09:24:24
【问题描述】:

我必须使用 java 和 opencv 库做一个图像处理项目。我会知道在哪里可以找到有用的信息,因为我发现最多的是使用带有 C 而不是 java 的 opencv。我还想知道将缓冲图像转换为另一种图像的最佳图像格式是什么。

嗯,在我的项目中,我需要拍摄快照并从白板上识别一些磁铁,然后获取它们的位置并将它们保存在一个数组中。问题是我已经开始了该项目,但它不起作用,因为我拍摄的图像是缓冲图像,并且必须将其转换为另一种格式。我读过 bufferedimage 是访问像素信息的最佳选择,但它的工作速度很慢。我想将这种格式(缓冲图像)转换为另一种格式,我发现的其他可能是 cvMat 和 IplImage。还有其他适合使用的格式吗?如果没有,cvMat 和 IplImage 哪个更好?

【问题讨论】:

  • “最佳图片格式” 取决于图片的内容。当然,这取决于您所说的“最佳”是什么意思。我假设您的意思是“以字节为单位的最小图像大小”。
  • 你想开发桌面应用或安卓应用
  • 这里是打开 cv opencv.org/opencv-java-api.html 启动 java 桌面应用程序的链接
  • @FireFly 你问这样只有两种可能性。我能想到 5 个。
  • @FireFly 'native Java' != '桌面应用程序。'想想 1)applet 2)servlet 3)基于命令行的应用程序。 -- 抛出类似的术语,你可以期待它们的含义和使用受到挑战。

标签: java image opencv image-processing


【解决方案1】:

您可以start by setting up your environment 构建 Java/OpenCV 应用程序。我刚刚分享的参考使用了 JavaCV,它是 OpenCV API 的第 3 方 Java 包装器。

ConvertingBufferedImage to IplImageMat 很简单。

可以使用bounding boxes 来隔离对象。 OpenCV has a tutorial on this technique 使用 Mat

如果您需要访问IplImage 的像素,可以查看this thread

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 2016-09-26
    • 2015-05-10
    • 2016-08-17
    相关资源
    最近更新 更多