用c语言读取固定大小的raw格式图像并统计灰度值
目的:
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格式图像并统计灰度值相关推荐
- C语言实现raw格式图像的读入和存取
C语言实现raw格式图像的读入和存取 raw格式是在生活中比较少见的图像格式,但是它作为一种相机的原始图像数据,在图像处理领域用处很多.raw格式的图像相当于就是一个二进制流,所有图像数据按顺 ...
- 医学图像处理——数据预处理(.mhd+raw格式图像读取和显示)
数据预处理(.mhd+raw格式图像读取和显示) 说明: 1.mhd+raw背景 2..mhd说明图像数据的信息 3.Python读取和显示mhd图像数据 3.1python库的安装 3.1代码运行展 ...
- RAW图像详解及使用Python读取raw格式图像并显示
一.RAW图像详解 1.1 什么是raw格式图像? RAW在英文中的解释是未处理的.自然状态的,这也就是RAW文件的真谛.RAW图像就是CMOS或者CCD图像感应器将捕捉到 的光源信号转化为数字信号的 ...
- 使用Python读取raw格式图像并显示
整理日期:2020-02-13 整理内容:使用Python读取raw格式图像并显示 代码如下: import cv2 #OpenCV包 import numpy as np# 首先确定原图片的基本信息 ...
- 微软“照片”应用Raw 格式图像编码器漏洞 (CVE-2021-24091)的技术分析
聚焦源代码安全,网罗国内外最新资讯! 2020年12月和2021年2月,微软两次针对"照片"应用的Raw格式图像编码器发布安全更新,其中2月9日修复的是CVE-2021-2409 ...
- 如何获取图像的驱动_Adobe Camera Raw 12 Mac(Raw格式图像ps插件) v12.2.1.417
Adobe Camera Raw 12 Mac版可以让摄影师在熟悉的Photoshop界面内打开并编辑这些RAW文件,极大的方便了摄影师的工作. Adobe Camera Raw 12 for Mac ...
- 适用于ps的Raw格式图像插件:AdobeCamera Raw13 Mac中文版
AdobeCamera Raw13 中文版是适用于ps的Raw格式图像插件,适用于Photoshop CS4以上或者 Photoshop Elements5.0(Mac).Photoshop Elem ...
- PS打开RAW图并查看像素点灰度值大小
1.PS打开RAW图 根据抓取的RAW图像大小设置好对应的图像尺寸和位数,打开图像. 2.查看raw图的像素点大小 由于抓取的RAW图像一般是单通道图像,故我们进行查看时候显示当前像素点的R.G.B值 ...
- 什么是RAW格式图像?
什么是RAW格式文件? RAW文件是一种记录了数码相机传感器的原始信息,同时记录了由相机拍摄所产生的一些原数据(Metadata,如IS0的设置.快门速度. 光圈值.白平衡等)的文件.RAW是未经处理 ...
最新文章
- python processpoolexector 释放内存_关于python:如何在multiprocessing.queue中从Process中释放内存?...
- 2015年6月9日_诗词学习
- linux 日志按大小切割_nginx入门详解(六)- 日志切割
- Hadoop记录-metastore jmx配置
- tplink 跨路由器 共享打印机_焦作联通案例分享:跨网段通过防火墙共享打印机设置...
- ASP.NET Core MVC 源码学习:Routing 路由
- 计算机上的mrc功能,计算器上的MRC有什么功能?
- Houdini学习笔记
- windows删除文件trustedinstaller权限
- 计算机大赛鼓励语录,比赛鼓励的话
- 手机相机好坏测试软件,如何选择好的手机相机?一分钟教你看懂好与坏
- 获取和设置默认打印机
- 计算机键盘打字基础知识,计算机基础知识:计算机键盘的使用
- 打造企业级云深度学习平台——小米云深度学习平台的架构设计与实现
- 90个外国英文网站强力推荐
- matlab编程勒让德多项式展开例题解析,第19 勒让德多项式 球函数习题及解答
- 【excel】python破解excel加密视图
- 基于Springboot+LayUI前后端分离小区物业系统带疫情防疫打卡管理
- html5实现frame效果,html5 frameset标签的替代方案是什么
- Anylink 安装教程 及 客户端之间互联
热门文章
- 《漫画算法2》源码整理-1 二分查找树 AVL树 红黑树
- 从零开始玩转JMX(一)——简介和Standard MBean
- 论面向组合子程序设计方法 之 重构
- 角点检测:Harris角点及Shi-Tomasi角点检测
- 计算机视觉Computer Vision网址导航
- 《大话数据结构》第3章 线性表 3.8.2 单链表的删除
- 借助混沌工程工具 ChaosBlade 构建高可用的分布式系统
- 「镁客早报」第九城市与法拉第未来成立合资公司,出资6亿美元;华为获得韩国运营商5G订单,占比95%...
- 基于Python Tornado的在线问答系统
- WEB 进程的查看和关闭(kill)