2017-06-15 2 views
0

Den Code:offen cv nicht finden kann, um das Bild

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); 

Die test.jpg-Datei im selben Ordner wie die CPP-Datei ist. (cpp Datei ist in "Dokumente/Xcode Projekte/ocr/ocr /")

Aber das Programm zeigt "Konnte nicht öffnen oder finden Sie das Bild" und wird beendet. Stimmt etwas nicht mit dem Verzeichnis von test.jpg oder ist es etwas anderes?

+1

Meine Vermutung ist, dass Ihre Binärdatei ** nicht ** im selben Ordner wie die cpp-Datei ist, Sie können entweder einen absoluten Pfad verwenden, zB '/ documents/Xcode projects/ocr/ocr/test.jpg' oder einen relativen Pfad von der Ordner, der die Binärdatei enthält, dh '../../ ocr/test.jpg' – Cyclonecode

+0

@Cyclonecode hat nicht funktioniert. Ich bekomme den gleichen Fehler. Es gibt keinen anderen Fehler in meinem Code. Die Header- und Bibliothekssuchpfade zum Öffnen von cv wurden bereitgestellt und ich fügte auch die .dylib-Dateien hinzu. – Titan97

+1

können Sie versuchen Mat a = Mat (512,512, CV_8UC3); imwrite ("testA.jpg", a); und herausfinden, ob/wo testA.jpg geschrieben wurde? – Micka

Antwort

0

-Code scheint Recht kann es 2 Probleme 1. Name des Bildes ist der gleiche wie in Position (Groß- und Kleinschreibung) 2.Use den folgenden Code (i überprüft haben, es funktioniert)

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

es heißt "Fehler: Bild kann nicht geladen werden .. !!" – Titan97

+0

hast du es mit anderen Bilderweiterungen versucht? –

+0

ja. funktioniert immer noch nicht – Titan97