OpenCV读取内存数据

来源:互联网 发布:java框架教程 编辑:程序博客网 时间:2024/06/06 19:07

环境说明:

OpenCV 3.2

VS2015

Win7


#include"opencv2/core/core.hpp"#include"opencv2/highgui/highgui.hpp"#includeusingnamespacecv;intmain(intargc,char**argv){if(argc!=2){printf("输入参数错误!");}FILE*f=fopen(argv[1],"rb");if(NULL==f){printf("open file error!");}unsignedchar*mImgData=(unsignedchar*)malloc(1400*1100);if(fread(mImgData,1,1400*1100, f)==0){printf("Fread error");};/*这里矩阵的行列随便定义,但是矩阵行列乘积要足够大,要能装下解压后的图片文件,jpg文件解压后会是原文件的N多倍,建议使用jpg文件的宽高作为矩阵的行列。最好事先知道所读取得图片分辨率,不然矩阵太小了,解压会失败。*/CvMatmCvmat=cvMat(1400,1100, CV_8UC1,mImgData);IplImage*IpImg=cvDecodeImage(&mCvmat,1);longgray=0;//opencv 2.0 CvMat->Mat数据转换//Mat b =  Mat(mat,true);//opencv3.0 CvMat->Mat数据转换//Mat image = cvarrToMat(pp);cvNamedWindow("image");cvShowImage("image", IpImg);cvWaitKey(0);cvReleaseImage(&IpImg);free(mImgData);return0;}

原创粉丝点击