-1

我正在将 OpenCV 用于对象检测项目。我正在尝试使用 VideoCapture 从存储的视频文件中读取帧,但在 OpenCV Java 中没有当前的实现。我按照这篇文章中的说明进行操作:使用 opencv java 打开视频文件,以编辑 OpenCV Java 的源文件以启用此功能。问题是我不知道如何重新编译文件?- 因为我最初只是将下载的 opencv jar 文件添加到我的 eclipse 项目中。

4

1 回答 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 回答