2017-06-15 66 views
0

代碼:開放CV找不到圖像

String imageName("test.jpg"); 
Mat image = imread(imageName,IMREAD_COLOR); 
if(image.empty())     
{ 
    cout << "Could not open or find the image" << std::endl ; 
    return -1; 
} 
namedWindow("Display window", WINDOW_AUTOSIZE); 
imshow("Display window", image); 

的test.jpg放在文件是在同一文件夾cpp文件。 (cpp文件位於「文件/ Xcode項目/ ocr/ocr /」)

但是程序顯示「無法打開或找到圖像」並退出。 test.jpg的目錄有問題嗎?還是其他的東西?

+1

我的猜測是你的二進制文件與** cpp文件不在同一個文件夾中,你可以使用一個絕對路徑,例如'/ documents/Xcode projects/ocr/ocr/test.jpg'或者一個相對路徑包含二進制文件的文件夾,例如'../../ ocr/test.jpg' – Cyclonecode

+0

@Cyclonecode既不可用。我犯了同樣的錯誤。我的代碼中沒有其他錯誤。提供了打開cv的頭文件和庫搜索路徑,並且也添加了.dylib文件。 – Titan97

+1

你可以試試Mat a = Mat(512,512,CV_8UC3); imwrite(「testA.jpg」,a);並找出testA.jpg是寫在哪裏? – Micka

回答

0

代碼似乎是正確的可以有2個問題 1.圖像的名稱是相同的位置(區分大小寫) 2.使用下面的代碼(我檢查了它的工作原理)

int main(int argc, const char** argv) 
{ 
    Mat img = imread("yourImageNAme", CV_LOAD_IMAGE_UNCHANGED); 

    if (img.empty()) 
    { 
      cout << "Error : Image cannot be loaded..!!" << endl; 

      return -1; 
    } 

    namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); 
    imshow("MyWindow", img); 

    waitKey(0); 

    destroyWindow("MyWindow"); 

    return 0; 
} 
+0

它說「錯誤:圖像無法加載.. !!」 – Titan97

+0

您是否嘗試過使用其他圖片擴展程序? –

+0

是的。仍然不起作用 – Titan97