Matlab BMP图像如何能运行在处理RAW图像程序中
2016-07-11 09:50
1091 查看
最近,根据项目要求,修改一段Matlab程序,要求原本处理raw格式的图像压缩程序,能适用于BMP图像。搜索了许多资料,并没有现成解决方法。有想过将BMP转为RAW,可程序编写比较麻烦。由于RAW结构是纯像素数据、二进制文件,里面只有像素值,没有文件头、调色板等数据。每个像素根据格式不同占有不同的字节,如8位256色每个像素占一个字节,24位真彩色每个像素占三个字节。
所以采取一种取巧方法解决了问题:提取BMP数据部分,存入到二进制bin(如:test.bin)文件中,fopen(‘test.bin’,‘rb’)打开读取就能运行在RAW中。如果直接提取BMP数据部分,用dec2bin转换成二进制数据,容易出现图像大小或者维度匹配问题。
代码如下:
Image 就能用在原本RAW的数据处理中了!
所以采取一种取巧方法解决了问题:提取BMP数据部分,存入到二进制bin(如:test.bin)文件中,fopen(‘test.bin’,‘rb’)打开读取就能运行在RAW中。如果直接提取BMP数据部分,用dec2bin转换成二进制数据,容易出现图像大小或者维度匹配问题。
代码如下:
A=imread('lena.bmp'); [m,n]=size(A); %存数据 fip=fopen('test.bin','wb'); fwrite(fip,A,'uchar'); fclose(fip); %提取数据 fip=fopen('test.bin','rb'); Image=fread(fip,[m n],'uchar'); fclose(fip);
Image 就能用在原本RAW的数据处理中了!
相关文章推荐
- SVM Matlab工具箱的使用(一)
- MATLAB数学建模(3)-非线性规划
- Matlab常用的集合运算
- Matlab绘图-详细全面(图)
- Win10Matlab7Runtime Error
- MATLAB模糊逻辑工具箱函数
- 功率谱密度相关方法MATLAB实现
- matlab 图像白平衡(世界灰度法)
- 主成分分析(PCA)
- matlab在图片上画标记然后整幅保存的方法
- matlab移位运算
- 基于MATLAB的离散小波变换
- Matlab与C++混合编程(依赖OpenCV)
- matlab调用C程序
- Machine Learning Week2
- Matlab学习(二)
- Matlab学习(一)
- MATLAB中矩阵及其运算
- MATLAB学习笔记
- MATLAB数学建模练习(2)-整数规划