⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 texture.c

📁 This is code tutorial for image processing include:histogram,sketon....
💻 C
字号:

    /********************************************
    *
    *    file texture.c
    *
    *    Functions: This file contains
    *       main
    *
    *    Purpose:
    *       This file contains the main calling
    *       routine for texture subroutines.
    *
    *    External Calls:
    *      imageio.c - create_image_file
    *                  read_image_array
    *                  write_image_array
    *                  get_image_size
    *                  get_bitsperpixel
    *                  allocate_image_array
    *                  free_image_array
    *       txtrsubs.c - sigma
    *                    skewness
    *                    amean
    *                    adifference
    *                    hurst
    *                    compare
    *
    *    Modifications:
    *       12 August 1993 - created
    *       27 August 1998 - modified to work on 
    *            entire images at once.
    *       19 September 1998 - modified to work with 
    *           all I O routines in imageio.c.
    *
    ********************************************/

#include "cips.h"



short **the_image;
short **out_image;

main(argc, argv)
   int argc;
   char *argv[];
{

   char name1[80], name2[80];
   int  size, t, type, v;
   long bits_per_pixel, length, width;

   if(argc < 7){
      show_texture_usage();
      exit(0);
   }

   strcpy(name1, argv[1]);
   strcpy(name2, argv[2]);
   t    = atoi(argv[4]);
   v    = atoi(argv[5]);
   size = atoi(argv[6]);

   if(does_not_exist(name1)){
    printf("\nERROR input file %s does not exist",
             name1);
    exit(0);
   }

   get_image_size(name1, &length, &width);
   get_bitsperpixel(name1, &bits_per_pixel);
   the_image = allocate_image_array(length, width);
   out_image = allocate_image_array(length, width);
   create_image_file(name1, name2);
   read_image_array(name1, the_image);


   if(strncmp(argv[3], "compare", 3) == 0){
      read_image_array(name1, out_image);
      compare(the_image, out_image,
              t, v, size,
              length,
              width,
              bits_per_pixel);
   }  /* ends if compare case */

   if(strncmp(argv[3], "hurst", 3) == 0)
      hurst(the_image, out_image,
            size,
            length,
            width,
            bits_per_pixel);

   if(strncmp(argv[3], "adifference", 3) == 0)
      adifference(the_image, 
                  out_image, 
                  size,
                  length,
                  width);

   if(strncmp(argv[3], "amean", 3) == 0)
      amean(the_image, out_image,
            size,
            length,
            width,
            bits_per_pixel);

   if(strncmp(argv[3], "skewness", 3) == 0){
      size = atoi(argv[4]);
      t    = atoi(argv[5]);
      v    = atoi(argv[6]);
      skewness(the_image, out_image,
               size, t, v,
               length,
               width,
               bits_per_pixel);
   }  /* ends skewness case */

   if(strncmp(argv[3], "sigma", 3) == 0){
      size = atoi(argv[4]);
      t    = atoi(argv[5]);
      v    = atoi(argv[6]);
      sigma(the_image, out_image,
            size, t, v,
            length,
            width,
            bits_per_pixel);
   }  /* ends sigma case */

   write_image_array(name2, out_image);
   free_image_array(out_image, length);
   free_image_array(the_image, length);

}  /* ends main  */


show_texture_usage()
{
 printf("\n\nNot enough parameters:");
 printf("\n");
 printf("\n   usage: texture in-file out-file type ");
 printf("threshold? threshold-value size");
 printf("\n   recall type: sigma      skewness");
 printf("\n                amean      adifference");
 printf("\n                hurst      compare");
 printf("\n   threshold?   1-threshold on");
 printf("\n                2-threshold off\n");
 printf("\n   usage for compare:");
 printf("\n   texture in-file out-file compare ");
 printf("line element size");
 printf("\n  "
  "\ntexture in-file out-file compare line element size"
  "\ntexture in-file out-file hurst x x size (3 5 or 7)"
  "\ntexture in-file out-file adifference x x size"
  "\ntexture in-file out-file amean x x size"
  "\ntexture in-file out-file skewness size "
            "threshold(0,1) high-threshold"
  "\ntexture in-file out-file sigma size "
            "threshold(0,1) high-threshold");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -