簡體   English   中英

OpenCV 3.0-錯誤:(-215)scn == 3 || scn == 4在函數ipp_cvtColor中

[英]OpenCV 3.0 - error: (-215) scn == 3 || scn == 4 in function ipp_cvtColor

我有簡單的OpenCV代碼,用於加載圖像並將其轉換為灰度。 我有一個包含已復制圖像的文件夾。 只是一遍又一遍地使用不同的文件名在同一幀中,文件的內容是完全相同的。

我運行一個循環並嘗試轉換圖像,它運行1020幀,並每次都在該特定幀上停止並出現錯誤:

“函數ipp_cvtColor中的錯誤:(-215)scn == 3 || scn == 4”

每次都會彈出。 我不明白這一點,如果代碼適用於第一個圖像,則理論上它應適用於文件夾中的所有其他圖像,因為它們是同一文件,只是文件名不同。 我正在運行OpenCV 3.0,並且還會收到顯示以下錯誤信息:

“ OpenCV錯誤:ipp_cvtColor中的斷言失敗(scn == 3 || scn == 4),文件/home/blah/OpenCV3.0/opencv/modules/imgproc/src/color.cpp,行7453”

當程序停止時。

我的代碼是:

char * baseImagePath; //these are updated as the program iterates
char * nextImagePath; //they contain the full path of the image

Mat baseImage, nextImage;
Mat grayImage1,grayImage2;

baseImage = imread(baseImagePath, CV_LOAD_IMAGE_COLOR);

if(baseImage.empty()){

    printf("%s EMPTY!\n", baseImagePath);

}

cvtColor(baseImage, grayImage1, COLOR_BGR2GRAY);

nextImage = imread(nextImagePath, CV_LOAD_IMAGE_COLOR);

if(nextImage.empty()){

    printf("%s EMPTY!\n", nextImagePath);

}

cvtColor(nextImage, grayImage2, COLOR_BGR2GRAY);

所以,這很奇怪。 運行代碼時,我確認程序認為特定幀的圖像為空,但是運行時:

display frame.jpg

是frame.jpg是我的程序聲稱為空的框架,imageMagick可以正常顯示視頻。

問題不在於OpenCV代碼,而是與我用來遍歷文件的C代碼有關。 我打開了太多文件,這導致程序失敗。 我在程序終止時收到的錯誤代碼確認了這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM