首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

OpenCV 車輛偵測指標錯誤:pCapture 可能為空

     編輯:程式設計疑難解答

程式碼運行報錯指向指標 pCapture,典型原因:

  1. cvCreateCameraCapture 或 cvCaptureFromFile 失敗回傳 NULL,未檢查直接使用。
  2. 影片檔案路徑錯誤、編碼器不支援、攝影頭被佔用或索引錯誤。

修正模板

CvCapture* pCapture = cvCaptureFromFile("video.avi"); // 或 cvCreateCameraCapture(0)
if (!pCapture) {
    fprintf(stderr, "無法開啟影片來源\n");
    return -1;
}

IplImage* frame;
while ((frame = cvQueryFrame(pCapture)) != NULL) {
    // 處理 frame
    cvShowImage("Vehicle Detection", frame);
    if (cvWaitKey(30) >= 0) break;
}

cvReleaseCapture(&pCapture);
cvDestroyAllWindows();

排查清單

  • 確認檔案存在且路徑相對/絕對正確 (建議用絕對路徑測試)。
  • 安裝完整編碼器 (K-Lite Codec Pack / FFmpeg)。
  • 攝影頭索引從 0 開始,嘗試 0, 1, 2...。
  • OpenCV 3/4 建議改用 cv::VideoCapture C++ 介面,自動管理資源,避免指標錯誤。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved