C++处理RAW格式图像
我想编写个图像处理的程序,RAW格式的。我想知道RAW格式图像文件的结构。1.我知道BMP格式的图像在像素数据之前有文件头、调色板等数据,而RAW格式有没有呢?2.RAW...
我想编写个图像处理的程序,RAW格式的。我想知道RAW格式图像文件的结构。
1.我知道BMP格式的图像在像素数据之前有文件头、调色板等数据,而RAW格式有没有呢?
2.RAW格式文件中每个像素占几个字节?8位256色每个占几个字节,24位真彩色占几个字节?还是其它情况呢?
3.C++中应该用哪个函数或类去读取数据呢? 展开
1.我知道BMP格式的图像在像素数据之前有文件头、调色板等数据,而RAW格式有没有呢?
2.RAW格式文件中每个像素占几个字节?8位256色每个占几个字节,24位真彩色占几个字节?还是其它情况呢?
3.C++中应该用哪个函数或类去读取数据呢? 展开
展开全部
1.RAW结构是纯像素数据文件,里面只有每个像素的值,没有文件头、调色板等数据,所以要想正确显示一个RAW文件图像,必须人工指定它的长、宽和像素深度。
2.每个像素根据格式不同占有不同的字节,如8位256色每个像素占一个字节;24位真彩色每个像素占三个字节。
3.要自己写,注意:
(1)函数要有此RAW文件的长、宽和像素深度三个参数,从而得到BMP文件头,存入strBMP[]的前面;
(2)函数里把读进来的RAW文件数据strRaw[]里的数据进行行反转放入strBMP[]中文件头之后,即把第length-1-i行(从第0行开始记,i从0开始)的数据放到第i行,而每行里的数据不变。这样做是因为BMP文件里的像素数据是从最后一行即length-1开始的。
(3)使用显示BMP文件的函数来显示此strBMP[]里的图像文件。
2.每个像素根据格式不同占有不同的字节,如8位256色每个像素占一个字节;24位真彩色每个像素占三个字节。
3.要自己写,注意:
(1)函数要有此RAW文件的长、宽和像素深度三个参数,从而得到BMP文件头,存入strBMP[]的前面;
(2)函数里把读进来的RAW文件数据strRaw[]里的数据进行行反转放入strBMP[]中文件头之后,即把第length-1-i行(从第0行开始记,i从0开始)的数据放到第i行,而每行里的数据不变。这样做是因为BMP文件里的像素数据是从最后一行即length-1开始的。
(3)使用显示BMP文件的函数来显示此strBMP[]里的图像文件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |