opencv常用操作

1、如果图片是以Mat类型的格式表示的话,那么保存图片则用imwrite()函数
举例如下:
const char* path;
path=“E:\Data\right\right.bmp”
imwrite(path,riFrame);//riFrame为当前帧Mat
转换为IplImage保存:
IplImage qImg = IplImage(matrixJprg); // cv::Mat -> IplImage
cvSaveImage("./out.jpg", &qImg);

函数cvSaveImage保存图像到指定文件。图像格式的的选择依赖于filename的扩展名,请参考cvLoadImage。只有8位单通道或者3通道(通道顺序为’BGR’ )可以使用这个函数保存。如果格式,深度或者通道不符合要求,请先用cvCvtScale 和cvCvtColor转换;或者使用通用的cvSave保存图像为XML或者YAML格式。
2、编码解码:
CV_IMPL CvMat* cvEncodeImage( const char* ext,const CvArr* arr, const int* _params )
CV_IMPL IplImage* cvDecodeImage( const CvMat* _buf, int iscolor )
据说可以编码bmp, png, ppm and tiff (encoding only).

解码测试例子:
f=fopen(“a.jpg”,“r”);
unsigned char m=(unsigned char)malloc(1267*791);
fread(m,50000,1,f);

CvMat mat = cvMat(1267,791,CV_8UC1, m);
IplImage *p = cvDecodeImage( &mat, 1 );

旋转90度

Mat src = imread("E:/TestImg/t1.jpg");
Mat dst;
Point center(src.cols/2,src.rows/2); //旋转中心
double angle = -90.0;  //角度
double scale = 1.0;  //缩放系数
Mat rotMat = getRotationMatrix2D(center,angle,scale);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值