C语言实现raw格式图像的读入和存取

    raw格式是在生活中比较少见的图像格式,但是它作为一种相机的原始图像数据,在图像处理领域用处很多。raw格式的图像相当于就是一个二进制流,所有图像数据按顺序单字节存放,中间没有任何间隔,自然也不存在所谓的每一行一个回车,它的每个图像数据都是紧挨着的,读取的时候必须自己按照图像的分辨率进行存取,放在二维数组中的情况居多,当存取到二维数组中时才有了行和列的概念。下面给出C语言实现的读入和存取raw图像。
/*========================================================================*/
//
// Description:  针对RAW图像的读入和存取
//
// Arguments:
//
// Returns:
//
// Notes:        none
//
// Time:         none
//
// Memory:       none
//
// Example:      none
//
// History:      1. wangyi   2014-4-19 22:46   Verison1.00   create
/*========================================================================*/#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define    height  256
#define width   256typedef unsigned char  BYTE; // 定义BYTE类型,占1个字节int main()
{FILE *fp = NULL;BYTE B[height][width];BYTE *ptr;char path[256];char outpath[256];int i,j;// 输入源路径并打开raw图像文件printf("Input the raw image path: ");scanf("%s",path);if((fp = fopen( path, "rb" )) == NULL){printf("can not open the raw image " );return;}else{printf("read OK");} // 分配内存并将图像读到二维数组中       ptr = (BYTE*)malloc( width * height * sizeof(BYTE) );for( i = 0; i < height; i++ ){for( j = 0; j < width ; j ++ ){fread( ptr, 1, 1, fp );B[i][j]= *ptr;   // 把图像输入到2维数组中,变成矩阵型式printf("%d  ",B[i][j]);ptr++;}}fclose(fp);// 这里可以对二维数组中的图像数据进行处理// 将处理后的图像数据输出至文件printf("Input the raw_image path for save: ");scanf("%s",outpath);if( ( fp = fopen( outpath, "wb" ) ) == NULL ){printf("can not create the raw_image : %s\n", outpath );return;}for( i = 0; i < height; i++ ){for( j = 0; j < width ; j ++ ){fwrite( &B[i][j], 1 , 1, fp );}}fclose(fp);}

上述程序实现了读入和存取的功能,中间可以自己加入对图像数据的处理算法,如注释中所述即可。

    总之,raw格式的图像一般情况下不能直接打开,需要有专门的工具才能打开,大家可以使用程序对其数据进行读写,从而实现图像算法处理的过程。

C语言实现raw格式图像的读入和存取相关推荐

  1. c语言打开raw图像文件,C语言实现raw格式图像的读入和存取

    /*========================================================================*/ // // Description: 针对RA ...

  2. C语言读取raw格式图像,求指导,如何用c语言实现读取*.raw格式图像

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* ** 这个程序是读取jpg图像的 ** 后续加上jpg图像打开和存放 */ #include #include #include #include ...

  3. 用c语言读取固定大小的raw格式图像并统计灰度值

    目的: 1.读取[256*256]大小的raw格式图像 2.统计灰度值 3.将结果写回result.txt 代码: 方法一 #include<stdio.h> #include<st ...

  4. 如何获取图像的驱动_Adobe Camera Raw 12 Mac(Raw格式图像ps插件) v12.2.1.417

    Adobe Camera Raw 12 Mac版可以让摄影师在熟悉的Photoshop界面内打开并编辑这些RAW文件,极大的方便了摄影师的工作. Adobe Camera Raw 12 for Mac ...

  5. 适用于ps的Raw格式图像插件:AdobeCamera Raw13 Mac中文版

    AdobeCamera Raw13 中文版是适用于ps的Raw格式图像插件,适用于Photoshop CS4以上或者 Photoshop Elements5.0(Mac).Photoshop Elem ...

  6. 微软“照片”应用Raw 格式图像编码器漏洞 (CVE-2021-24091)的技术分析

     聚焦源代码安全,网罗国内外最新资讯! 2020年12月和2021年2月,微软两次针对"照片"应用的Raw格式图像编码器发布安全更新,其中2月9日修复的是CVE-2021-2409 ...

  7. RAW图像详解及使用Python读取raw格式图像并显示

    一.RAW图像详解 1.1 什么是raw格式图像? RAW在英文中的解释是未处理的.自然状态的,这也就是RAW文件的真谛.RAW图像就是CMOS或者CCD图像感应器将捕捉到 的光源信号转化为数字信号的 ...

  8. 使用Python读取raw格式图像并显示

    整理日期:2020-02-13 整理内容:使用Python读取raw格式图像并显示 代码如下: import cv2 #OpenCV包 import numpy as np# 首先确定原图片的基本信息 ...

  9. 医学图像处理——数据预处理(.mhd+raw格式图像读取和显示)

    数据预处理(.mhd+raw格式图像读取和显示) 说明: 1.mhd+raw背景 2..mhd说明图像数据的信息 3.Python读取和显示mhd图像数据 3.1python库的安装 3.1代码运行展 ...

最新文章

  1. c语言学习之基础知识点介绍(十二):结构体的介绍
  2. numpy.random.uniform()
  3. 强化学习(四)—— Actor-Critic
  4. iOS开发笔记[18/50]:在Mac OS X Lion系统中访问~/Library目录都需要点技巧
  5. 2016四季度 服务器收入和出货量双下滑
  6. numpy基础(part12)--快速傅里叶变换模块
  7. 德鲁克的《卓有成效的管理者》
  8. 【转】带你玩转Visual Studio——03.带你了解VC++各种类型的工程
  9. 修改HBase的rowkey设计把应用的QPS从5W提升到50W
  10. MySQL中主键的选择与磁盘性能
  11. ssh+json开发实例
  12. CakePHP中文手册【翻译】-ACL
  13. 长文详解Attention、Seq2Seq与交互式匹配
  14. php5中文手册 pdf_tp5.0完全开发手册
  15. android 编译 libjpeg-turbo,android 编译libjpeg-turbo
  16. 计算机毕业设计asp.net的旅游网站(源码+系统+mysql数据库+Lw文档)
  17. 【一周头条盘点】中国软件网(2018.1.15~2018.1.19)
  18. 计算机网络telnet命令作用,telnet命令使用方法详解
  19. 量子力学在计算机上的应用论文,量子力学论文.doc
  20. 上海重塑能源集团股份有限公司稳步前行,助力行业蓬勃发展

热门文章

  1. 未来计算机更加智能化,未来计算机的发展趋势
  2. 制作Linux内存镜像+制作对应的volatility profile
  3. matlab输出曲线颜色设置,matlab曲线颜色样式设置
  4. SAP TR传输操作手册
  5. 使用SPSS进行曲线估算分析
  6. Pyecharts--第一个培训数据dashboard(不太完美)
  7. 适用vue的html前台页面打印插件
  8. 比较有用的若干EXCEL常用函数
  9. Python破解加密的zip文件
  10. 添加打印机时提示:未安装打印机驱动,试图将打印机添加到存储区时遇到问题