我正在将 OpenCV 用于对象检测项目。我正在尝试使用 VideoCapture 从存储的视频文件中读取帧,但在 OpenCV Java 中没有当前的实现。我按照这篇文章中的说明进行操作:使用 opencv java 打开视频文件,以编辑 OpenCV Java 的源文件以启用此功能。问题是我不知道如何重新编译文件?- 因为我最初只是将下载的 opencv jar 文件添加到我的 eclipse 项目中。
问问题
511 次
1 回答
-1
您可能应该尝试JavaCV,它是 Java 的 OpenCV 包装器。
这篇文章展示了你需要下载/安装什么才能在你的系统上运行,但我相信你可以在网络上找到更多更新的帖子。
我在 OpenCV 迷你课程中展示的一个演示包含一个使用 JavaCV 加载视频文件并将其显示在窗口上的源代码:
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
import com.googlecode.javacv.OpenCVFrameGrabber;
import com.googlecode.javacv.FrameGrabber;
public class OpenCV_tut4
{
public static void main(String[] args)
{
FrameGrabber grabber = new OpenCVFrameGrabber("demo.avi");
if (grabber == null)
{
System.out.println("!!! Failed OpenCVFrameGrabber");
return;
}
cvNamedWindow("video_demo");
try
{
grabber.start(); // initialize video capture
IplImage frame = null;
while (true)
{
frame = grabber.grab(); // capture a single frame
if (frame == null)
{
System.out.println("!!! Failed grab");
break;
}
cvShowImage("video_demo", frame);
int key = cvWaitKey(33);
if (key == 27) // ESC was pressed, abort!
break;
}
}
catch (Exception e)
{
System.out.println("!!! An exception occurred");
}
}
}
于 2013-11-22T00:04:31.303 回答