Matlab软件可以自动保存中间变量的值并可以可视化方式显示
如果您的VS已经配置好了OpenCV库,那么可以将下面程序直接得到到你新建的工程文件中运行
#include <iostream>
#include <fstream>
#include <cvh>
#include <highguih>
#include <mathh>
using namespace std;
using namespace cv;
IplImage Igray = 0;
IplImage It = 0;
IplImage Iat;
void main()
{
Igray = cvLoadImage("handjpg", CV_LOAD_IMAGE_GRAYSCALE);//加载图像的函数
It = cvCreateImage(cvSize(Igray->width, Igray->height), IPL_DEPTH_8U, 1);
Iat = cvCreateImage(cvSize(Igray->width, Igray->height), IPL_DEPTH_8U, 1);
cvThreshold(Igray, It, 150, 255, CV_THRESH_BINARY);//单一阈值
cvAdaptiveThreshold(Igray, Iat, 255, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY, 3, 5);//自适应阈值
CvScalar p; //保存通道的像素
ofstream outfile("/OpenCVTest/output/grayxls");
for (int i = 0; i<Iat->height; i++)
{
for (int j = 0; j<Iat->width; j++)
{
//if (i==0)
// outfile << "第" << j << "列\t";
//if (0==j)
// outfile << "第" << i << "行\t";
p = cvGet2D(Iat, i, j);
outfile << pval[0] << "\t";
}
outfile << endl;
} ///
cvNamedWindow("orignal", 1);
cvNamedWindow("threshold", 1);
cvNamedWindow("adaptiveThresh", 1);
cvShowImage("orignal", Igray);
cvShowImage("threshold", It);
cvShowImage("adaptiveThresh", Iat);
cvWaitKey(0);
cvReleaseImage(&Igray);
cvReleaseImage(&It);
cvReleaseImage(&Iat);
cvDestroyWindow("orignal");
cvDestroyWindow("threshold");
cvDestroyWindow("adaptiveThresh");
}
注意上面代码中的加粗行:一个是加载图像的函数;一个是导出图像数据的函数
此外最重要的一句是:outfile << pval[0] << "\t";
其中的“\t"一定要添加,它是制表符,这样能够使图像数据对应到Excel中的每一行每一列
注:其他程序的输出代码类似,一定要在输出的代码语句中添加格式控制"\t",方可完美导出到Excel
如果ofstream outfile("/OpenCVTest/output/grayxls");这句中的xls改成txt,则输出的数据格式比较乱,不易观察行列数
导出到Excel后,可以方面查看第几行第几列的数据,比如查看第10行第6列
一般Excel的列数以字母符号显示的,通过设置便可达到上面效果。由于已经写过了这个问题经验,可以直接关注我的百度经验,便可以找到了具体的设置。
以上就是关于加壳的软件怎么修改控件全部的内容,包括:加壳的软件怎么修改控件、易语言 如何获得一个EXE或者DLL内所使用到的API、如何将C,C++程序中的图像矩阵数据导出到Excel等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)