Example #1
0
File: p3.c Project: kota395/ip
int main(int argc,char**argv){
  Image *dst,*src,*dst3;
  char filename[256];
  src=ImageRead(argv[1]);
  dst=ImageAlloc(src->W,src->H);
  dst3=ImageAlloc(src->W*3,src->H*3);

  Process(dst,src);
  sprintf(filename,"p1_%s.%s",argv[2],argv[3]);
  ImageWrite(filename,dst);
  memset(filename,'0',sizeof(filename));

  Process2(dst,src,100);
  sprintf(filename,"p2_%s_r00.%s",argv[2],argv[3]);
  ImageWrite(filename,dst);
  memset(filename,'0',sizeof(filename));

  Process2(dst,src, 10);
  sprintf(filename,"p2_%s_0g0.%s",argv[2],argv[3]);
  ImageWrite(filename,dst);
  memset(filename,'0',sizeof(filename));

  Process2(dst,src,  1);
  sprintf(filename,"p2_%s_00b.%s",argv[2],argv[3]);
  ImageWrite(filename,dst);
  memset(filename,'0',sizeof(filename));

  Process2(dst,src,110);
  sprintf(filename,"p2_%s_rg0.%s",argv[2],argv[3]);
  ImageWrite(filename,dst);
  memset(filename,'0',sizeof(filename));

  Process2(dst,src, 11);
  sprintf(filename,"p2_%s_0gb.%s",argv[2],argv[3]);
  ImageWrite(filename,dst);
  memset(filename,'0',sizeof(filename));

  Process2(dst,src,101);
  sprintf(filename,"p2_%s_r0b.%s",argv[2],argv[3]);
  ImageWrite(filename,dst);
  memset(filename,'0',sizeof(filename));

  Process2(dst,src,111);
  sprintf(filename,"p2_%s_rgb.%s",argv[2],argv[3]);
  ImageWrite(filename,dst);
  memset(filename,'0',sizeof(filename));

  Process3(dst3,src,3);
  sprintf(filename,"p3_%s.%s",argv[2],argv[3]);
  ImageWrite(filename,dst3);
  memset(filename,'0',sizeof(filename));
  return 0;
}
void
main()
{
  int    i, xoff;
  Image *image1, *image2;

 // image1 = ImageCreate(200,100);
  
  //ImageClear(image1, 210,180,40); /* mustard color */
  //ImageWrite(image1, "try1.ppm");
  //printf("created try1.ppm\n");

  image2 = ImageRead("try1.ppm");

  /* put a blue-ish stripe in image */
  for (i = 0; i < 100; i++)
    {
      for (xoff = 45; xoff < 85; xoff++)
	{
	  ImageSetPixel(image2, i+xoff, i, 0, 50);  /* red channel */
	  ImageSetPixel(image2, i+xoff, i, 1, 80);  /* green */
	  ImageSetPixel(image2, i+xoff, i, 2, 250); /* blue */
	}
    }

  ImageWrite(image2, "try2.ppm");
  printf("created try2.ppm\n");
}
Example #3
0
void software_3x3_filter(const char *input)
{
    filter_params filter;
    Image iImage = IMAGE_INITIALIZER;
    Image oImage = IMAGE_INITIALIZER;
    Benchmark b;
    int val = 0;

    initBenchmark(&b, "Software 3x3 Filter", "");

    filter_Init(&filter, 4, 2, 1, 4);
    ImageRead(input, &iImage);

    startBenchmark(&b);
    val = filter_Execute(&filter, &iImage, &oImage);
    stopBenchmark(&b);

    if(val != 0) {
        fprintf(stderr, "software_3x3_filter: ERROR: Filter failed.\n");
    }

    printBenchmark(&b);
    ImageWrite("software_3x3.tif",&oImage);
    ImageCleanup(&oImage);
    ImageCleanup(&iImage);
}
Example #4
0
/*----------------------------------------------------------------------
            Parameters:
              map -   the map to write
              fname - the name of the file to write to.

           Description:
              write a map out to a file in hips format
----------------------------------------------------------------------*/
void
MapIHipsWrite(IMAP *map, char *fname) {
  IMAGE image ;

  ImageInitHeader(&image, map->cols, map->rows, PFINT, 1) ;

  image.image = (unsigned char *)map->image ;
  ImageWrite(&image, fname) ;
}
Example #5
0
/*----------------------------------------------------------------------
            Parameters:
              map -   the map to write
              fname - the name of the file to write to.

           Description:
              write a map out to a file in hips format
----------------------------------------------------------------------*/
void
MapCHipsWrite(CMAP *map, char *fname) {
  IMAGE image ;

  ImageInitHeader(&image, map->cols, map->rows,  PFBYTE, 1) ;
  image.image = map->image ;

  ImageWrite(&image, fname) ;
}
Example #6
0
/*----------------------------------------------------------------------
            Parameters:
              image - the image to write
              fname - the name of the file to write to.

           Description:
              write a hips image to file 'fname'
----------------------------------------------------------------------*/
int
ImageWriteFrames(IMAGE *image, const char*fname, int start, int nframes)
{
  IMAGE  *tmp_image ;

  tmp_image = ImageAlloc(image->rows, image->cols,image->pixel_format,nframes);
  ImageCopyFrames(image, tmp_image, start, nframes, 0) ;
  ImageWrite(tmp_image, fname) ;
  ImageFree(&tmp_image) ;
  return(NO_ERROR);
}
Example #7
0
void Window::save_as()
{
    QString fileName = QFileDialog::getSaveFileName(this,
                                                    tr("Save File"),
                                                    *last_filename,
                                                    tr("Images (*.bmp *.tga *.ppm *.pgm *.pfm *.hdr)"));

    bool success = ImageWrite(image, fileName.toStdString());

    if(!success) {
        QMessageBox::information(this, tr("Simple QT"),
                                 tr("Cannot save %1.").arg(fileName));
        return;
    }
}
Example #8
0
File: image.c Project: BossKing/vlc
static int ImageWriteUrl( image_handler_t *p_image, picture_t *p_pic,
                          video_format_t *p_fmt_in, video_format_t *p_fmt_out,
                          const char *psz_url )
{
    block_t *p_block;
    FILE *file;

    if( !p_fmt_out->i_chroma )
    {
        /* Try to guess format from file name */
        p_fmt_out->i_chroma = image_Ext2Fourcc( psz_url );
    }

    file = vlc_fopen( psz_url, "wb" );
    if( !file )
    {
        msg_Err( p_image->p_parent, "%s: %s", psz_url, vlc_strerror_c(errno) );
        return VLC_EGENERIC;
    }

    p_block = ImageWrite( p_image, p_pic, p_fmt_in, p_fmt_out );

    int err = 0;
    if( p_block )
    {
        if( fwrite( p_block->p_buffer, p_block->i_buffer, 1, file ) != 1 )
            err = errno;
        block_Release( p_block );
    }

    if( fclose( file ) && !err )
        err = errno;

    if( err )
    {
       errno = err;
       msg_Err( p_image->p_parent, "%s: %s", psz_url, vlc_strerror_c(errno) );
    }

    return err ? VLC_EGENERIC : VLC_SUCCESS;
}
Example #9
0
/*----------------------------------------------------------------------
            Parameters:

           Description:
----------------------------------------------------------------------*/
void
KernelImageWrite(KIMAGE *kimage, char *fname, int argc, char *argv[])
{
  IMAGE     *image ;
  int       i ;
  char      str[100] ;

  image = KernelImageToSeq(kimage) ;
  for (i = 0 ; i < argc ; i++)
  {
    argv[0] = argv[i] ;
    update_header(image, 1, argv) ;
  }
  if (kimage->fname)
  {
    free(image->orig_name) ;
    image->orig_name = STRCPALLOC(kimage->fname) ;
  }
  sprintf(str, "%d %d", kimage->rows, kimage->cols) ;
  image->seq_name = STRCPALLOC(str) ;
  ImageWrite(image, fname) ;
  ImageFree(&image) ;
}
Example #10
0
void hardware_3x3_filter(const char *input)
{
#ifdef ZYNQ
    Image iImage = IMAGE_INITIALIZER;
    Image oImage = IMAGE_INITIALIZER;
    hardware_config hard_config;
    Benchmark b;
    int val = 0;

    initBenchmark(&b, "Hardware 3x3 Filter", "");
    ImageRead(input, &iImage);
    if(hardware_filter_init(&iImage, &hard_config) != 0) {
        fprintf(stderr, "hardware_3x3_filter: ERROR: Failed to initialize hardware driver\n");
        return;
    }

    startBenchmark(&b);
    val = hardware_filter_execute(&hard_config);
    stopBenchmark(&b);
    if(val != 0) {
        fprintf(stderr, "hardware_3x3_filter: ERROR: Filter failed.\n");
    }

    val = hardware_filter_cleanup(&iImage, &oImage, &hard_config);
    if(val != 0) {
        fprintf(stderr, "hardware_3x3_filter: ERROR: Hardware filter failed to clean up.\n");
    }

    printBenchmark(&b);
    ImageWrite("hardware_3x3.tif",&oImage);
    ImageCleanup(&oImage);
    ImageCleanup(&iImage);
#else
    fprintf(stderr, "Hardware 3x3 filter not supported on x86 platform\n");
#endif

}
Example #11
0
/*----------------------------------------------------------------------
            Parameters:

           Description:
              append an image to the end of a hips sequence file, incrementing
              the number of frames recorded in the header.
----------------------------------------------------------------------*/
int
ImageAppend(IMAGE *I, const char*fname)
{
  FILE   *fp ;
  int    ecode, frame = 0, nframes ;
  IMAGE  Iheader, *Iframe ;
  char   tmpname[200] ;

  fp = fopen(fname, "r+b") ;
#if 0
  if (!fp)
    ErrorReturn(-1, (ERROR_NO_FILE, "ImageAppend(%s) failed\n", fname)) ;
#endif

  if (!fp)
    return(ImageWrite(I, fname)) ;

  ecode = fread_header(fp, &Iheader, fname) ;
  if (ecode != HIPS_OK)
    ErrorExit(ERROR_NO_FILE, "ImageAppend: fread_header failed (%d)\n",ecode);

  /* increment # of frames, and update file header */
  Iheader.num_frame++ ;
  nframes = Iheader.num_frame ;
  if (nframes == 10 || nframes == 100 || nframes == 1000)
  {
    /* header size will grow by 1 byte, must copy whole file (ughhh) */
    fclose(fp) ;
    strcpy(tmpname,FileTmpName(NULL)) ;
    FileRename(fname, tmpname) ;

    /* write out new header */
    fp = fopen(fname, "wb") ;
    if (!fp)
      ErrorReturn(-1, (ERROR_NO_FILE, "ImageAppend(%s) failed\n", fname)) ;

    ecode = fwrite_header(fp, &Iheader, fname) ;
    if (ecode != HIPS_OK)
      ErrorExit(ERROR_NO_FILE,"ImageAppend: fwrite_header failed (%d)\n",ecode);

    nframes = Iheader.num_frame - 1 ;
    for (frame = 0 ; frame < nframes ; frame++)
    {
      Iframe = ImageReadFrames(tmpname, frame, 1) ;
      if (!Iframe)
        ErrorReturn(-3, (ERROR_BADFILE,
                         "ImageAppend: could not read %dth frame", frame)) ;
      ecode = fwrite_image(fp, Iframe, frame, fname) ;
      if (ecode != HIPS_OK)
        ErrorReturn(-4, (ERROR_BADFILE,
                         "ImageAppend: fwrite_image frame %d failed (%d)\n",
                         ecode,frame));
    }
    unlink(tmpname) ;
  }
  else    /* seek back to start and increment # of frames */
  {
    if (fseek(fp, 0L, SEEK_SET) < 0)
      ErrorReturn(-2,(ERROR_BADFILE,"ImageAppend(%s): could not seek to end"));
    ecode = fwrite_header(fp, &Iheader, fname) ;
    if (ecode != HIPS_OK)
      ErrorExit(ERROR_NO_FILE,"ImageAppend: fwrite_header failed (%d)\n",ecode);
  }

  if (fseek(fp, 0L, SEEK_END) < 0)
    ErrorReturn(-2, (ERROR_BADFILE, "ImageAppend(%s): could not seek to end"));

  ecode = fwrite_image(fp, I, frame, "fwrite") ;
  if (ecode != HIPS_OK)
    ErrorReturn(-1, (ERROR_BADFILE,
                     "ImageAppend: fwrite_image frame %d failed (%d)\n",ecode,frame));

  free_hdrcon(&Iheader) ;
  fclose(fp) ;
  return(NO_ERROR) ;
}