/*这是一个利用3*3模板对raw格式图像进行平滑的程序。先读入,再平滑,最后将平滑后的图像写入result.raw*/
#include<stdio.h>
void main()
{
/*声明变量*/
unsigned char *pData=new unsigned char[256*256]; //源图像
unsigned char *pnewData=new unsigned char[256*256];//平滑后的图像
int i,j;
FILE *fp; //源图像指针
FILE *fp2; //结果图像指针
fp=fopen("Lena.raw","rb"); //打开源图像
if(!fp)
{
printf("Read ERROR!\n");
}
fread(pData,sizeof(unsigned char),256*256,fp); //将源图像数据读入pData数组中
for(i=0;i<256*256;i++) // //首先将源图像所有像素赋给新数组。保证边界 。并注意类型转换,下同
{
pnewData[i]=(int)pData[i];
}

for(i=1;i<255;i++)     //平滑图像 注意[]里面i j 的用法

for(j=1;j<255;j++)

{
pnewData[i*256+j]=(pData[(i-1)*256+(j-1)]+pData[(i-1)*256+j]+pData[(i-1)*256+j+1]+pData[i*256+j-1]+pData[(i)*256+j]+
pData[(i)*256+(j+1)]+pData[(i+1)*256+j]+pData[(i+1)*256+(j-1)]+pData[(i+1)*256+(j+1)])/9;
}
for(i=0;i<256*256;i++)    //再将类型转换回去
{
pnewData[i]=(unsigned char)pnewData[i];
}
fclose(fp);

/*将结果数组写回一个新的result.raw*/

fp2=fopen("result.raw","wb");
fwrite(pnewData,(256*256),sizeof(unsigned char),fp2);
fclose(fp2);
delete[] pData;
delete[] pnewData;
}

c语言平滑raw图像(取平均值法)相关推荐

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

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

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

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

  3. RAW图像数据到RGB

    RAW图像数据到RGB Bayer是相机内部的原始图片, 一般后缀名为.raw. 很多软件都可以查看, 比如PS. 我们相机拍照下来存储在存储卡上的.jpeg或其它格式的图片, 都是从.raw格式转化 ...

  4. Matlab,C/C++语言读取RAW图和保存RAW图

    摘要 何为raw图? 对于图像传感器而言,传感器数据每个像素点是RGGB等(排列方式有很多种),此时并不能看见颜色等信息,这种原始数据的图像,便是raw图.对于ISP算法工程师而言,查看RAW图十分重 ...

  5. A311D用工业相机APP获取raw图像并做各种格式转换

    A311D用工业相机APP获取raw图像并做各种格式转换 目录 主要涉及的知识点有: 2 RAW 图格式转换(主要意义) 2 Android 通用串口通信,及usb转串口通信 2 1先创建androi ...

  6. C语言实现bmp图像几何变换(移动,旋转,镜像,转置,缩放)

    C语言实现bmp图像几何变换(移动,旋转,镜像,转置,缩放) 移动 旋转 镜像 转置 缩放 自定义结构及函数如下: #define pi 3.1415926 typedef struct {unsig ...

  7. C语言读取bmp图像并做简单显示

    C语言读取bmp图像并做简单显示) bmp文件格式 读取bmp文件信息并展示 bmp文件格式 bmp文件大体上分为四个部分: bmp文件构成 位图文件头BITMAPFILEHEADER 位图信息头BI ...

  8. R语言ggplot2可视化图像设置不同的字体实战

    R语言ggplot2可视化图像设置不同的字体实战 目录 R语言ggplot2可视化图像设置不同的字体实战 #查看字体

  9. R语言在可视化图像中添加文本(Adding Text to plot)

    R语言在可视化图像中添加文本(Adding Text to plot) 创建一个好的可视化包括引导读者,使用图形讲述一个直观的故事.在某些情况下,这个故事可以以完全直观生动的方式呈现,而不需要添加文本 ...

最新文章

  1. numpy(5)-astype
  2. java 中sun.net.ftp_开发FTP不要使用sun.net.ftp.ftpClient
  3. Hadoop专业解决方案-第1章 大数据和Hadoop生态圈
  4. 走台阶 OR 台阶走——《狂人C》习题解答14(第三章习题4)
  5. 2020 年 3 月全国程序员工资排名!
  6. 卷积神经网络系列之softmax,softmax loss和cross entropy
  7. mybatis中使用使用模块化sql
  8. sql语句格式化数字(前面补0)、替换字符串
  9. 手机归属地查询演示代码
  10. 家用智能门锁常见的开锁方式,主要有哪些?
  11. 看电影“刺客聂隐娘”前必须了解的知识(绝无剧透)
  12. matlab gui制作,MATLAB GUI制作教程
  13. 1972年发射失败的苏联金星探测器可能今年坠落地球
  14. 纯洁的心--佩雷尔曼
  15. AutoJs学习-2048小游戏自动化
  16. vue3 watch 监听多值以及深度监听用法
  17. hyperlynx si 前仿真
  18. 旧手机先别扔,余承东:留着升级一下鸿蒙
  19. opencv 手选roi区域_如何用opencv实现感兴趣区域ROI的选取
  20. ITSS服务项目经理 IT服务工程师 培训 证书延续

热门文章

  1. 【c++】4.std::shared_ptr、std::make_shared、 .get() 、.data()、void *p 的用法、裸指针
  2. Caffe学习系列(4):激活层(Activiation Layers)及参数
  3. Spring Boot【快速入门】
  4. Vue.js 状态过渡
  5. Spring中事务内部调用引发的惨案
  6. 论面向组合子程序设计方法 之 创世纪
  7. java基础----Java的格式化输出
  8. Java程序员从笨鸟到菜鸟之(十二)java异常处理机制
  9. 从零开始学习jQuery (三) 管理jQuery包装集
  10. 编程之美-子数组的最大乘机方法整理