1. cv::Mat 文件转换到 IplImage
cv::Mat ImageQr;
IplImage qimage =IplImage(ImageQr);
2. 文件保存
cvSaveImage(”./result.jpg“, &qimage);
~~~~~~~~~~~~~~~~~
3. cv::Mat,cvMat和IplImage的相互转换方法
参考:http://blog.csdn.net/sunlylorn/article/details/7962939
CvMat、Mat、IplImage之间的转换详解及实例
参考:http://blog.sina.com.cn/s/blog_74a459380101obhm.html
4. 一幅图像不同方法处理后连续保存图片。
方法一:
tryCount++;
string ImageBase =”./data/output/qr“;
string ImageAddres = ImageBase + int2str(tryCount)+".png";
IplImage qimage =IplImage(ImageQr);
cvSaveImage(ImageAddres.data(), &qimage); //注意 ImageAddres.data()
cvShowImage("mywindow",frame);
方法二: sprintf
参考自:Opencv中将视频保存为连续的图片和连续的图片保存为视频
------------------------------------------------------------------------------------------------------------------
sprintf
功能 把格式化的数据写入某个字符串缓冲区。
头文件 stdio.h
原型 int sprintf( char *buffer, const char *format, [ argument] … );
参数列表
buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。
返回值:字符串长度(strlen)
相关函数
int sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format, [argument] ... );
int _sprintf_s_l(char *buffer,size_t sizeOfBuffer,const char *format,locale_t locale ,[argument] ... );
int swprintf_s(wchar_t *buffer,size_t sizeOfBuffer,constwchar_t *format ,[argument]...);
int _swprintf_s_l(wchar_t *buffer,size_t sizeOfBuffer,const wchar_t *format,locale_t locale ,[argument]…);
template <size_t size>
int sprintf_s(char (&buffer)[size],const char *format, [argument] ... ); //仅存在于C++
template <size_t size>
int swprintf_s(wchar_t (&buffer)[size],const wchar_t *format ,[argument]...); //仅存在于C++