Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 9 của 9
  1. #1
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0

    OpenCV không thể load được file AVI?

    Mình đang cần xử lí với 1 đoạn AVI nhưng làm theo hướng dẫn mà vẫn không chạy được file AVI do ko bắt được lỗi ngoại lệ và memory leak. Ai từng làm qua mong chỉ hộ mình. Đây là code

    Mã:
    // camera.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include "cv.h"
    #include "highgui.h"
    #include "stdio.h"
    using namespace std;
    
    
    int main()
    {
      CvCapture* capture = cvCaptureFromAVI("F:\\PHIM\\one_piece\\001.avi");
      int fps =(int) cvGetCaptureProperty(capture,5);
      cvNamedWindow("test",1);
      if(fps!=0)
      {
    	  while(1)
    	  {
    		  IplImage* frame = cvQueryFrame(capture);
    		  if(!frame) break;
    		  cvShowImage("test",frame);
    		  char c = cvWaitKey(1000/fps);
    		  if(c=='q')break;
    		  cvReleaseImage(&frame);
    
    	  }
      }
      cvReleaseCapture(&capture);
      cvDestroyWindow("test");
    
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cái hàm cvQueryFrame trả về image không cần release thì phải, chỉ phải release khi bạn sử dụng cvRetrieveFrame.

    Bỏ cái while đi, làm một 2 frame đi đã, load nhiều frame cũng không ai làm như bạn cả! cứ copy code thì lỗi là đúng rồi!

  3. #3
    code em viết mà anh. Em dùng cái này với code để nhận camera chỉ thay thành
    Mã:
    CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANY)
    thì nó nhận camera chạy bình thường mà. Nhưng mà bây h em có việc cần làm với file AVI nhưng thử mãi mà cứ lỗi nên mới phải thử code cho release frame ngay khi đọc xong nhưng mà vẫn ko chạy. Ai biết thì chỉ em với!

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi chuot chui
    Mình đang cần xử lí với 1 đoạn AVI nhưng làm theo hướng dẫn mà vẫn không chạy được file AVI do ko bắt được lỗi ngoại lệ và memory leak. Ai từng làm qua mong chỉ hộ mình. Đây là code

    Mã:
    // camera.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include "cv.h"
    #include "highgui.h"
    #include "stdio.h"
    using namespace std;
    
    
    int main()
    {
      CvCapture* capture = cvCaptureFromAVI("F:\\PHIM\\one_piece\\001.avi");
      int fps =(int) cvGetCaptureProperty(capture,5);
      cvNamedWindow("test",1);
      if(fps!=0)
      {
    	  while(1)
    	  {
    		  IplImage* frame = cvQueryFrame(capture);
    		  if(!frame) break;
    		  cvShowImage("test",frame);
    		  char c = cvWaitKey(1000/fps);
    		  if(c=='q')break;
    		  cvReleaseImage(&frame);
    
    	  }
      }
      cvReleaseCapture(&capture);
      cvDestroyWindow("test");
    
    }
    Bạn cho mình hỏi tại sao build OpenCV với Cmake mà không tìm thấy thư mục bin\Release vậy? Nên khi chạy chương trình bị báo lỗi không tìm thấy file .exe
    Bạn nào biết chỉ mình với!

  5. #5
    Mình ko dùng Cmake bạn ạ! Mình dùng visual C++ viết như bt mà

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Nếu mình không biên dịch OpenCV bằng Cmake thì làm sao có những hàm được tích hợp sẵn trong OpenCV mà sử dụng?
    Mình muốn sử dụng hàm SIFT trong OpenCV nhưng chưa biết làm sao, bạn có biết về hàm SIFT không?

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn sửa được chưa.. Chỉ mình với

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    lỗi ở đây :
    Mã:
    IplImage* frame = cvQueryFrame(capture);
    bạn đem dòng
    Mã:
    IplImage* frame
    vứt lên đầu và gán địa chỉ cho nó là 0.

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi tuanf4
    Bạn sửa được chưa.. Chỉ mình với
    Trích dẫn Gửi bởi ngothitim
    Nếu mình không biên dịch OpenCV bằng Cmake thì làm sao có những hàm được tích hợp sẵn trong OpenCV mà sử dụng?
    Mình muốn sử dụng hàm SIFT trong OpenCV nhưng chưa biết làm sao, bạn có biết về hàm SIFT không?
    trong phiên bản 2.0 trở xuống thì ko cần dùng Cmaker. Còn dùng Cmaker bắt đầu từ phiên bản nào thì mình ko rõ. Lúc học, mình học phiên bản 1.0, sau đó mày mò bản 2.0 và giờ đang mò bản 2.4

    --------------------------------
    PS : ko ngó tới nội dung nên đã lỡ post thành 2 bài liên tiếp, mong mod hợp nhất thành 1.
    Chân thành xin lỗi

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •