cv::mat的基本操作 ***** **
来源:互联网 发布:淘宝买手机花呗分期购 编辑:程序博客网 时间:2024/05/29 12:48
Fr: cv::mat的基本操作
使用imwrite函数,将Mat对象保存到指定的文件中。
filename,指定的文件
img 要保存的Mat对象
params 用来指定图像的保存编码方式。
使用filename的扩展名来指定图像的保存格式(.jpg .png .bmp),对于不同的图像保存类型,params是不同的值
- JPEG,params用来指定图像的质量(0到100),默认的是95. CV_IMWRITE_JPEG_QUALITY
- PNG,params用来指定图像的压缩级别(0到9),压缩级别越高图像占用的空间越小,保存图像所用的时间越久。默认值是3. CV_IMWRITE_PNG_COMPRESSION
- PPM,PGM,PBM,params是一个标记(0或者1),默认的是1.CV_IMWRITE_PXM_BINARY
imwrite只能保存8位(或者是16位无符号(CV_16UC)的PNG,JPEG200或者TIFF图像)单通道或者三通道的图像,如果要保存的不是这样的图片,可以使用convertTo或者cvtColor来进行转变。
下面代码展示了如果使用imwrite向文件中写入一个4通道的png图像
void createAlphaMat(Mat &mat) { for(int i = 0 ; i < mat.rows ; i ++) { for(int j = 0 ; j < mat.cols ; j ++) { Vec4b &rgba = mat.at<Vec4b>(i,j); rgba[0] = 123; //UCHAR_MAX ; rgba[1] = 0; //saturate_cast<uchar>((float (mat.cols - j)) / ((float)mat.cols) * UCHAR_MAX); rgba[2] = 0; //saturate_cast<uchar>((float (mat.rows - i)) / ((float)mat.rows) * UCHAR_MAX); rgba[3] = 255; //saturate_cast<uchar>(0.5 * (rgba[1] + rgba[2])); } }}int main(){ Mat mat(480,640,CV_8UC4); createAlphaMat(mat); vector<int> compression_params ; compression_params.push_back(CV_IMWRITE_PNG_COMPRESSION); compression_params.push_back(9); imwrite("alpha.png",mat,compression_params); return 0;}
阅读全文
0 0
- cv::mat的基本操作
- cv::mat的基本操作 ***** **
- cv::Mat的介绍
- cv.Mat 与 .txt 文件数据的读写操作
- 【OpenCV】cv::Mat对单个像素的访问和操作
- opencv Mat 的基本操作
- cv::Mat 的数据拷贝
- opencv cv::Mat的用法
- cv::Mat 基本用法之初始化
- Opencv 中 Mat类的基本操作
- opencv的Mat类基本操作
- OpenCV图像矩阵Mat的基本操作
- cv...Mat...
- cv:Mat
- cv::mat
- cv:mat
- cv::Mat
- cv::Mat
- Hadoop之Pig框架学习(笔记17)
- 高级几何的介绍
- 【文献阅读】Augmenting Supervised Neural Networks with Unsupervised Objectives-ICML-2016
- lintcode--颜色分类
- SQL语句中如何使用含有if....else...判断语句
- cv::mat的基本操作 ***** **
- FFMPEG计算PSNR存在的问题及解决方法
- JZ2440的中断控制器
- 机器学习-->数学基础
- Oracle 触发器 插入|更新|删除,两表同步
- Spring Shiro登陆验证技术详解
- Hadoop之Hive框架学习(笔记18)
- SQL Server 日期和时间函数
- 机器学习基石 3.2 Learning with Different Data Label