📄 pgmread2.cc
字号:
const char *help = "\progname: pgmread2.cc\n\code2html: This program reads/writes two pgm images in two different ways.\n\version: Torch3 vision2.0, 2003-2005\n\(c) Sebastien Marcel (marcel@idiap.ch)\n";#include "ImageGray.h"#include "DiskXFile.h"#include "pgmDiskXFile.h"#include "CmdLine.h"using namespace Torch;int main(int argc, char **argv){ char *image_filename1; char *image_filename2; bool verbose; // Construct the command line CmdLine cmd; cmd.setBOption("write log", false); // Put the help line at the beginning cmd.info(help); cmd.addText("\nArguments:"); cmd.addSCmdArg("image filename 1", &image_filename1, "image filename 1"); cmd.addSCmdArg("image filename 2", &image_filename2, "image filename 2"); cmd.addText("\nOptions:"); cmd.addBCmdOption("-verbose", &verbose, false, "verbose"); cmd.read(argc, argv); Image *image = NULL; DiskXFile *image_file = NULL; ImageDiskXFile *pgm_file = NULL; // // reads image 1 using default format image = new ImageGray(image_filename1); image->setBOption("verbose", verbose); if(verbose) { print("Image info (%s):\n", image_filename1); print(" width = %d\n", image->width); print(" height = %d\n", image->height); print(" format = %s (%d)\n", image->coding, image->n_planes); } // // save image 1 using default format image_file = new DiskXFile("test1.pgm", "w"); image->saveXFile(image_file); delete image_file; // // reads image 2 using a specific ImageDiskXFile pgm_file = new pgmDiskXFile(image_filename2, "r"); image->loadImageXFile(pgm_file); delete pgm_file; if(verbose) { print("Image info (%s):\n", image_filename2); print(" width = %d\n", image->width); print(" height = %d\n", image->height); print(" format = %s (%d)\n", image->coding, image->n_planes); } pgm_file = new pgmDiskXFile("test2.pgm", "w"); image->saveImageXFile(pgm_file); delete pgm_file; delete image; return(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -