我想问一下关于如何将所有像素值导出/写入txt文件或其他可由记事本打开的格式的问题。在节目下面。opencv将二进制图像的像素值写入文件
感谢,HB
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <stdio.h>
#include <stdlib.h>
#include<fstream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
IplImage *img = cvLoadImage("MyImg.png");
CvMat *mat = cvCreateMat(img->height,img->width,CV_32FC3);
cvConvert(img, mat);
outFile.open("MyFile.txt");
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
/// Get the (i,j) pixel value
CvScalar scal = cvGet2D(mat,j,i);
printf("(%.f,%.f,%.f)",scal.val[0], scal.val[1],scal.val[2]);
}
printf("\n");
}
waitKey(1);
return 0;
}
btw,请**不要**使用opencv的没有更多维护的c-api。 – berak
首先看std :: ofstream的一些例子 – Miki