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