2017-04-20 117 views
0

我想在OpenCV中使用imread()讀取8BPP PNG圖像並將其複製到更大的矩陣中。這是代碼:OpenCV imread 8BPP PNG圖像錯誤

Mat subimage = imread((directory + file).toStdString(), IMREAD_COLOR); 
subimage.copyTo(whole(Rect(rect.left(), rect.top(), 
             rect.width(), rect.height()))); 

我已經試過其他標誌一樣IMREAD_ANYCOLOR,IMREAD_ANYDEPTH,IMREAD_GRAYSCALE和IMREAD_UNCHANGED。他們似乎沒有任何工作(子圖像仍然是空的)。

我收到如下因素的錯誤:

OpenCV Error: Assertion failed (!fixedSize()) in cv::_OutputArray::release, file ..\..\..\sources\modules\core\src\matrix.cpp, line 1619

+0

'directory'和'file'之間沒有分隔符?沒有檢查圖像是否加載? –

+0

我可以添加檢查..目前,我有一個打印語句,打印出subimage的行數和列數。矩形的尺寸是正確的。此外,目錄變量以分隔符結束..我將分隔符添加到代碼的單獨部分中。我也打印出來,它是正確的。 – user2522981

回答

0

我終於想通了錯誤。但是,它與imread無關。我正在下載圖像,並試圖在下載完成之前閱讀它們。