首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 文档频道 > 办公其他 > 实习报告 >

在校生做DSP技术实践的实习报告(3)

2013-06-05 
巩固和深化数字图像处理技术所涉及的数理基础、基本算法和各种图像处理技术方法,学习和掌握图像变换。

   3、锯齿波变换
  #include
  #include
  #include "imagelib.h"
  //添加图像和视频处理库头文件
  #include "imagesample.h"
  //添加图像例子头文件,
  //包含原始的图像文件goldhill[128][128]
  #define MAX_PIXEL_VALUE 256
  //包含原始图像像素的最大灰度值
  #define WIDTH 128
  #define HEIGHT 128
  //原始图像行和列的像素数
  int my_result[256];
  //保存自编函数得到的灰度直方图结果的数组
  short histogram_output[256];
  //保存调用库函数得到的灰度直方图结果的数组
  short my_threshold_val=175;
  //short my_threshold_val=127;
  //阈值的设定
  void my_histogram();
  //声明自编灰度直方图算法显示函数
  void main( )
  {
  int i;
  int my_size;
  short *input;
  my_size = WIDTH*HEIGHT;
  //计算所有像素点数
  input = &goldhill[0][0];
  //获取原始图像的首地址
  for(i= 0;i< MAX_PIXEL_VALUE;i++) histogram_output[i]= 0;
  IMG_histogram(input,histogram_output,my_size);
  //调用image.lib库函数实现灰度直方图显示
  my_histogram();
  //自编C语言算法程序实现灰度直方图显示
  IMG_threshold(&goldhill[0][0],&goldhill[0][0],WIDTH,HEIGHT, my_threshold_val );
  //调用image.lib库函数实现阈值处理与显示
  while(1);
  }
  void my_histogram()
  {
  int i,j;
  float lwidth=128,ratio=128,gg=235;
  short (*p)[128];
  //定义了一个指针变量p,
  //指向了一个包含128个元素的一维数组,
  //即行指针变量p
  p=goldhill;
  //获取原始图像的首地址
  // for(i=0;i<256;i++) my_result[i]=0;
  //初始化灰度直方图结果数组
  for (i=0;i<128;i++)
  { for (j=0;j<128;j++)

  {
  gg=*(*(p+i)+j);
  while(gg>lwidth) gg=gg-lwidth;
  *(*(p+i)+j)=gg*ratio+0.5;
  }
  // k=*(*(p+i)+j);
  // my_result[k]++;
  }
  //自编灰度直方图算法显示函数
  }
  4、图像剪取
  #include
  #include
  #include "imagelib.h"
  //添加图像和视频处理库头文件
  #include "imagesample.h"
  //添加图像例子头文件,
  //包含原始的图像文件goldhill[128][128]
  #define MAX_PIXEL_VALUE 256
  //包含原始图像像素的最大灰度值
  #define WIDTH 128
  #define HEIGHT 128
  //原始图像行和列的像素数
  #define ZERO 0
  int my_result[256];
  //保存自编函数得到的灰度直方图结果的数组
  short histogram_output[256];
  //保存调用库函数得到的灰度直方图结果的数组
  short my_threshold_val=175;
  //short my_threshold_val=127;
  //阈值的设定
  void my_histogram();
  //声明自编灰度直方图算法显示函数
  void main( )
  {
  int i;
  int my_size;
  short *input;
  my_size = WIDTH*HEIGHT;
  //计算所有像素点数
  input = &goldhill[0][0];
  //获取原始图像的首地址
  for(i= 0;i< MAX_PIXEL_VALUE;i++) histogram_output[i]= 0;
  IMG_histogram(input,histogram_output,my_size);
  //调用image.lib库函数实现灰度直方图显示
  my_histogram();
  //自编C语言算法程序实现灰度直方图显示
  IMG_threshold(&goldhill[0][0],&goldhill[0][0],WIDTH,HEIGHT,my_threshold_val );
  //调用image.lib库函数实现阈值处理与显示
  while(1);
  } void my_histogram()
  {
  int i,j,threshold=0;
  short (*p)[128];
  //定义了一个指针变量p,
  //指向了一个包含128个元素的一维数组,
  //即行指针变量p
  p=goldhill;
  //获取原始图像的首地址
  // for(i=0;i<256;i++) my_result[i]=0;
  //初始化灰度结果数组
  for (i=0;i<128;i++)
  { for (j=0;j<128;j++)
  {
  *(*(p+i)+j)=(*(*(p+i)+j)
  // k=*(*(p+i)+j);
  // my_result[k]++;
  }
  }
  //自编灰度算法显示函数
  }
  

热点排行