c++读取.raw格式图像
来源:互联网 发布:python anaconda是什么 编辑:程序博客网 时间:2024/05/03 19:20
第一次接触用c++进行图像处理,首先就是对于裸格式.RAW的图片进行处理,在网上也是找了很久,但是都没有合适的,知识搜集到一些信息,就是说.raw是8位二进,,很好处理,然后就没有搜集到更多的信息了,首先申明自己是刚入手c++,有些c语言的基础,很是羞愧与自己都研究生了,编码竟然还那么弱,没办法啊,被大神鄙视心里还是有点不舒服的,
首先之前完全不了解图片的格式,研究了一下.bmp的格式之后才联想到,如果要是读取.raw格式的图像数据,我就必须清楚这种格式的RGB是怎么存储的,也是研究墨迹两天,加上c++语言上面的不熟悉,最后在另一位大神的帮助下,终于弄明白了。
不得不赞美下大神的思路真的是很明确,而我就是一团混乱,这也是我学习的地方,大神先是让我用UE打开这个数据文件.raw让我看下到底这个文件时怎么存储的,下图就是
原图256*256
在大神的帮助下,调通了程序,我发现是我的编程习惯不好,一些函数不会看格式,不会按照规矩来,在一遍遍的测试下,闹清楚,原来raw格式存储的图像,是按照RGB的值依次存储,我提取了R波段的值,在提取了B波段的值,依次,(.raw原图是三通道)
下面放程序吧:很简单的程序啊,就是要弄清楚RGB在,.raw的村粗方式就行了,
#include "StdAfx.h"
#include <fstream>
#include <stdio.h>
//#include <readline/readline.h>
//#include <readline/history.h>
#include <stdlib.h>
//#include <sting.h>
const int R = 256;
const int L = 256;
int main(int argc,char **argv)
{
const char *file_name="G:\\UCMerced_LandUse-十类图像\\binary images\\agricultural001.raw";
FILE *fp,*fp1,*fp2,*fp3;
fp=fopen(file_name,"rb");
int k=0;
if(fp==NULL)
{
printf("\nerror on open c:\\hzk16 file!");
}
fp1=fopen("BAND1.raw","wb");
fp2=fopen("BAND2.raw","wb");
fp3=fopen("BAND3.raw","wb");
if(fp==NULL)
{
printf("\nerror on open c:\\hzk16 file!");
}
unsigned char image1[R][L];
unsigned char image2[R][L];
unsigned char image3[R][L];
;
//把image内容写入到
fread(image2,sizeof(unsigned char),R*L,fp);//注意fp指针一直加1,不能调换成fp2
fwrite(image2,sizeof(unsigned char),R*L,fp2);
fread(image3,sizeof(unsigned char),R*L,fp);
fwrite(image3,sizeof(unsigned char),R*L,fp3);
fclose(fp2);
fclose(fp3);
}
接下来还要对图像标注,已经能画出矩形框,但是还不能实现函数化,libsvm库已经安装好,接下来会更艰难。
- c++读取.raw格式图像
- 读取图像数据的C实现(.raw存储格式)
- 用c语言读取固定大小的raw格式图像并统计灰度值
- C在VS10上读取raw格式图片,然后做图像处理,最终保存为所需的raw格式图片
- 什么是RAW格式图像?
- C语言实现raw格式图像的读入和存取
- 使用C函数读取BMP格式图像
- RAW格式图像转为BMP格式
- 利用Python和PIL库读取(非转换)raw格式图像
- python读取.raw了类型的图像
- C 盘FAT32变为 RAW 格式
- matlab读取未知格式图像
- bmp格式图像的读取
- RAW格式
- RAW格式
- RAW格式 RAW RGB格式
- C格式读取文件
- c语言平滑raw图像(取平均值法)
- HDU 1683 畅通工程
- Java类的初始化
- memmove
- 设计模式【装饰模式】
- ajax发送时浏览器的分辨
- c++读取.raw格式图像
- HDU 5093 Battle ships(二分图+坐标变换)
- java内部类----安全问题-----访问外围类的私有变量
- Microsof Azure 虚拟机 禁ping问题
- SolrCloud 初体验
- APP字体大小,不随系统的字体大小变化而变化的方法
- Find Minimum in Rotated Sorted Array II c++ leetcode
- AndroidStudio自定义设置
- Lync 2013 与Exchange 2013 UM&UC 集成!