资源简介
C语言写的算法,实现了数字图像处理的均值滤波算法,比较简单,适合初学者。
代码片段和文件信息
// junzhilvbo.cpp : Defines the entry point for the console application.
// 10031 张敏 2010302590099
#include “stdafx.h“
#include “stdio.h“
#include “string.h“
#include “stdlib.h“
#define DATA_X 256 //数字图像水平像素个数
#define DATA_Y 256 //数字图像竖直像素个数
int main(int argc char* argv[])
{
void OpenFile(const char cFilePath[]int nOriginalData[DATA_Y][DATA_X]); //函数申明
void SaveFile(const char cFilePath[]int nResultData[DATA_Y][DATA_X]);
bool JunZhiLvBo(const int nOriginalData[DATA_Y][DATA_X]int nResultData[DATA_Y][DATA_X]);
int nOriginalData[DATA_Y][DATA_X]; //保存原始图像灰度值
int nResultData[DATA_Y][DATA_X]; //保存滤波后图像灰度值
memset(nOriginalData0sizeof(nOriginalData)); //初始化数组
memset(nResultData0sizeof(nResultData));
char cOpenFilePath[] = “Lena.raw“; //图像文件路径
OpenFile(cOpenFilePathnOriginalData);
if(!JunZhiLvBo(nOriginalDatanResultData)) //滤波计算
{
printf(“操作失败!\n“);
exit(0);
}
char cSaveFilePath[] = “Result.raw“; //文件保存路径
SaveFile(cSaveFilePathnResultData);
return 0;
}
void OpenFile(const char cFilePath[]int nOriginalData[DATA_Y][DATA_X])
{
printf(“正在获取数据…\n“);
FILE *fp;
fp = fopen(cFilePath“r“);
if(fp==NULL) //判断文件是否打开成功
{
printf(“文件打开失败!\n“);
exit(0);
}
unsigned char *pData = new unsigned char[DATA_Y*DATA_X];
fread(pData1DATA_Y*DATA_Xfp); //读取各像素点赋灰度值
int count_xcount_y;
for(count_y=0;count_y for(count_x=0;count_x nOriginalData[count_y][count_x] = (unsigned int)pData[count_y*DATA_X+count_x]; //将像素点灰度值储存在二维数组中
delete [] pData;
fclose(fp);
}
void SaveFile(const char cFilePath[]int nResultData[DATA_Y][DATA_X])
{
printf(“正在保存数据…\n“);
int count_xcount_y;
FILE *fp;
fp = fopen(cFilePath“w“);
if(fp==NULL) //判断文件是否打开成功
{
printf(“文件保存败!\n“);
exit(0);
}
for(count_y=0;count_y for(count_x=0;count_x fwrite(&nResultData[count_y][count_x]11fp);
fclose(fp);
printf(“文件保存成功! \n“);
}
bool JunZhiLvBo(const int nOriginalData[DATA_Y][DATA_X]int nResultData[DATA_Y][DATA_X])
{
printf(“正在进行均值滤波计算…\n“);
int count_xcount_y;
for(count_y=1;count_y for(count_x=1;count_x nResultData[count_y][count_x]=(int)((nOriginalData[count_y-1][count_x-1]+
nOrig属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 297 2012-04-14 20:16 StdAfx.cpp
文件 769 2012-04-14 20:16 StdAfx.h
文件 3987 2012-04-14 21:54 junzhilvbo.cpp
文件 65536 2010-03-28 20:43 Lena.raw
----------- --------- ---------- ----- ----
70589 4
- 上一篇:MFC电梯仿真模拟源码超酷
- 下一篇:花束摆放问题
相关资源
- 用C语言进行数字图像处理
- Visual+C++数字图像处理-谢凤英-源代码
- VC++数字图像处理典型算法及实现
- 数字图像处理扑克牌识别程序
- 数字图像处理与机器视觉——Visual
- 中值滤波_均值滤波c语言实现_工程文
- 直方图均衡化_c语言实现_源代码+实验
- (VC++ 数字图像处理典型算法及实现源
- c语言实用数字图像处理
- 数字图像处理软件源代码三个资源集
- 数字图像处理实验源代码中值滤波,
- 数字图像处理的课程设计,图像处理
- 数字图像处理-基于内容的图像分类
- 数字图像处理 MFC bmp格式图片打开与保
- Visual C++数字图像处理中文教程
- C++数字图像处理典型算法及实现--图像
- C语言实用数字图像处理(日本的,看
- [毕业分享] MFC实现数字图像处理软件
- 书中-part2-1
- vc++ 数字图像处理典型算法及实现 源
- Visual C++数字图像处理谢凤英版源代码
- VC C++数字图像处理实验程序
- C语言实用数字图像处理_源代码code
- 数字图像处理MFC编程之灰度图像线性
- 数字图像处理 完整源代码
- vc++mfc经典数字图像处理程序
- MFC数字图像处理
- VC++实现灰度图像的6种边缘检测算子
- 数字图像处理中值,均值滤波
- 基于C语言的数字图像处理
川公网安备 51152502000135号
评论
共有 条评论