目的:

1.读取【256*256】大小的raw格式图像

2.统计灰度值

3.将结果写回result.txt

代码:

方法一

#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,j;
FILE *fp;  //指向文件的指针
fp=fopen("Lena.raw","rb");  //打开文件。注意raw格式图像要以只读二进制流的形式打开
if(!fp)
{
printf("ERROR!\n");
}
unsigned char *pData=new unsigned char[256*256]; //注意:raw图像用无符号char型读入
fread(pData,sizeof(unsigned char),(256*256),fp);  //fread具体用法见msdn
fclose(fp); //取消fp指针指向

int value[256]={0}; //声明并初始化存灰度值的数组

for(i=0;i<(256*256);i++) //统计灰度值
{
value[pData[i]]++;
}
printf("灰度值\t\t大小"); //
printf("\n");
fp=fopen("result.txt","wb");
fprintf(fp,"灰度值\t\t大小\r\n");//注意\r\n 否则不能换行!

for(j=0;j<256;j++)  //将结果输出到txt中
{
  printf("%d\t\t%d\n",j,value[j]);
// fwrite(value,sizeof(int),256,fp);
 fprintf(fp,"%d\t\t%d\r\n",j,value[j]);  //注意\r\n 否则不能换行
}

delete[] pData;//删除空间
fclose(fp); //关闭txt文件
}

方法二:

#include<stdio.h>
#include<stdlib.h>
int value[256]={0};

int fread(unsigned char *pData)  //把声明的那个数组空间指针作为参数来回传
{
FILE *fp;
fp=fopen("Lena.raw","rb");
if(!fp)
{
printf("Read ERROR!\n");
}
fread(pData,sizeof(unsigned char),(256*256),fp);
fclose(fp);
return 0; //
}
int fchuli(unsigned char *pData)
{
  for(int i=0;i<(256*256);i++) //统计灰度值
{
  value[pData[i]]++;
}
return 0; //

}
int fwrite(unsigned char *pData)
{
FILE *fp;
fp=fopen("result.txt","wb");
fprintf(fp,"灰度值\t\t大小\r\n");

for(int j=0;j<256;j++) //将结果输出到txt中
{
  printf("%d\t\t%d\n",j,value[j]);
// fwrite(value,sizeof(int),256,fp);
 fprintf(fp,"%d\t\t%d\r\n",j,value[j]);
}

delete[] pData;//删除空间
fclose(fp); //关闭txt文件
return value[256]; //

}
int main(unsigned char *pData)
{
pData=new unsigned char[256*256];  //在主函数里声明新空间

fread(pData); //传数组地址
fchuli(pData);
fwrite(pData);
return 0;

}

用c语言读取固定大小的raw格式图像并统计灰度值相关推荐

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

    C语言实现raw格式图像的读入和存取     raw格式是在生活中比较少见的图像格式,但是它作为一种相机的原始图像数据,在图像处理领域用处很多.raw格式的图像相当于就是一个二进制流,所有图像数据按顺 ...

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

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

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

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

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

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

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

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

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

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

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

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

  8. PS打开RAW图并查看像素点灰度值大小

    1.PS打开RAW图 根据抓取的RAW图像大小设置好对应的图像尺寸和位数,打开图像. 2.查看raw图的像素点大小 由于抓取的RAW图像一般是单通道图像,故我们进行查看时候显示当前像素点的R.G.B值 ...

  9. 什么是RAW格式图像?

    什么是RAW格式文件? RAW文件是一种记录了数码相机传感器的原始信息,同时记录了由相机拍摄所产生的一些原数据(Metadata,如IS0的设置.快门速度. 光圈值.白平衡等)的文件.RAW是未经处理 ...

最新文章

  1. python processpoolexector 释放内存_关于python:如何在multiprocessing.queue中从Process中释放内存?...
  2. 2015年6月9日_诗词学习
  3. linux 日志按大小切割_nginx入门详解(六)- 日志切割
  4. Hadoop记录-metastore jmx配置
  5. tplink 跨路由器 共享打印机_焦作联通案例分享:跨网段通过防火墙共享打印机设置...
  6. ASP.NET Core MVC 源码学习:Routing 路由
  7. 计算机上的mrc功能,计算器上的MRC有什么功能?
  8. Houdini学习笔记
  9. windows删除文件trustedinstaller权限
  10. 计算机大赛鼓励语录,比赛鼓励的话
  11. 手机相机好坏测试软件,如何选择好的手机相机?一分钟教你看懂好与坏
  12. 获取和设置默认打印机
  13. 计算机键盘打字基础知识,计算机基础知识:计算机键盘的使用
  14. 打造企业级云深度学习平台——小米云深度学习平台的架构设计与实现
  15. 90个外国英文网站强力推荐
  16. matlab编程勒让德多项式展开例题解析,第19 勒让德多项式 球函数习题及解答
  17. 【excel】python破解excel加密视图
  18. 基于Springboot+LayUI前后端分离小区物业系统带疫情防疫打卡管理
  19. html5实现frame效果,html5 frameset标签的替代方案是什么
  20. Anylink 安装教程 及 客户端之间互联

热门文章

  1. 《漫画算法2》源码整理-1 二分查找树 AVL树 红黑树
  2. 从零开始玩转JMX(一)——简介和Standard MBean
  3. 论面向组合子程序设计方法 之 重构
  4. 角点检测:Harris角点及Shi-Tomasi角点检测
  5. 计算机视觉Computer Vision网址导航
  6. 《大话数据结构》第3章 线性表 3.8.2 单链表的删除
  7. 借助混沌工程工具 ChaosBlade 构建高可用的分布式系统
  8. 「镁客早报」第九城市与法拉第未来成立合资公司,出资6亿美元;华为获得韩国运营商5G订单,占比95%...
  9. 基于Python Tornado的在线问答系统
  10. WEB 进程的查看和关闭(kill)