2017-04-16 3 views
0

opencvを使用してモノクロビットマップイメージを読み込み、ピクセル値を別のテキストファイルに保存しています。私の知るところによると、モノクロビットマップは0と1の間の値ではなく、0と255の間ではありません。テキストファイルに値を保存しようとすると、0と255が保存されます。ピクセル値を255で除算すると、0と1が得られますが、文字が形成されていないので出力は受け入れられません(モノクロビットマップイメージは文字ファイルでテキストファイルをスキャンします)。 深さ、タイプ、チャンネル数に問題があると思いますが、解決できません。助けてください。前もって感謝します。 Visual Studioの代わりのメモ帳でopencvのテキストファイルにモノクロビットマップ画像のピクセル値(0,1)を格納します

#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; 
} 

答えて

0

オープンmonochrome_file.txt:

は、ここに私のコードです。必要なパターンが表示されます。

関連する問題