2017-04-16 2 views
0

Ich benutze opencv zum Lesen von monochromen Bitmap-Bild und Speichern seiner Pixel-Wert in eine andere Textdatei. Nach meinem Wissen, Monochrom-Bitmap hat die Werte 0 und 1 und nicht zwischen 0 und 255.Wenn ich versuche, die Werte in der Textdatei zu speichern, werden 0 und 255 gespeichert. Wenn ich den Pixelwert mit 255 dividiere, bekomme ich 0 und 1, aber die Ausgabe ist nicht akzeptabel, da sie kein Zeichen bildet (ein monochromes Bitmap-Bild ist eine gescannte Textdatei mit Zeichen). Ich denke, es gibt ein Problem mit der Tiefe, Art oder Anzahl der Kanäle, aber nicht in der Lage, es zu lösen. Bitte helfen Sie. Danke im Voraus.speichern monochrome Bitmap-Bild Pixelwert (0,1) in Textdatei in opencv

Hier ist mein Code:

#include<opencv2/core/core.hpp> 
#include<opencv2/highgui/highgui.hpp> 
#include <opencv2/opencv.hpp> 
#include "math.h" 
#include <fstream> 
using namespace cv; 

using namespace std; 

int main(int argc,char **argv) 
{ 
ofstream fout("monochrome_file.txt"); 
Mat img=imread("1_mono.bmp",CV_THRESH_BINARY); 
uchar val;int x; 
if(img.empty()) 
{ 
    cout<<"File Not Opened"<<endl; 
} 
for(int i=0;i<img.rows;i++) 
{ 
    for(int j=0;j<img.cols;j++) 
    { 

     val=img.at<uchar>(i,j); 
     x=(int)val; 
        x=x/255; 
        fout<<x; 
    } 

} 

waitKey(); 
return 0; 
} 

Antwort

0

offen monochrome_file.txt in Visual Studio statt Notizblock. Die erforderlichen Muster werden sichtbar sein.