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"); }
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); }
/*---------------------------------------------------------------------- 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) ; }
/*---------------------------------------------------------------------- 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) ; }
/*---------------------------------------------------------------------- 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); }
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; } }
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; }
/*---------------------------------------------------------------------- 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) ; }
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 }
/*---------------------------------------------------------------------- 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) ; }