changes.old
来自「VC视频对象的跟踪提取原代码(vc视频监控源码)」· OLD 代码 · 共 165 行
OLD
165 行
************************************************************************imgsrc library : LOG of changes************************************************************************summary of new features 18/07/96 (amb)* cleaned up environment variable handlingnow use ...setenv IA_B_TO_T ON for images addressed from bottom to top (default is now top to bottom i.e (0,0) is top left)setenv IMAGE_ZOOM x images are zoomed by a factor of 'x' (for display purposes only) -- only in gl versionsetenv DISPLAY_GRAYS 1 To display 256 graylevels (messes up gl colour map) (default 128 graylevels are displayed)setenv DISPLAY_YUV_COLOUR To display YUV images in colour** added classes for high level image processing :-* added SourceSplitter class for processing the same image source in several different ways (see SourceSplitter.h, SourceSplitter.cc)* added BufferSplitter class for buffering last 'n' frames (see SourceSplitter.h, SourceSplitter.cc)* added RepeatSource class (miscsrc.h)* added GammaCorrectSource class* added RotateSource class* added BlendSource (weighted sum of two images)* MpegStream class for loading in mpegs (uses libmpeg.a)* RGB2GRAYsrc class for converting RGB images to Grayscale* FixHoleSource for filling in holes in a binary image* get_live_or_movie_feed function (imgsrc_utils.h) parses command line arguments to initialise an ImageSource from the camera/ movie/ mpeg etc see demo programs** new Image functions* added rgb_read_image -- (gl only) Function to read colour pixels from the displayed window and return a RGB32Image. Works with colour mapped images, zoomed images etc.* added transform (rotate, scale, translate) method* added image_blend function* added map_intensities functionother changes* on construction an array of pointers to (0,y) are generated (improves get_pixel efficiency)* can now pass a pointer to image data when using Image constructors The destructor will *not* delete this data in this caseAlso note* images can be output using save_pnm method to store a PNM image MovieStore class (irix5/sgmoviestore.cc) can be used to output SG movies. Use ~vislib/bin/movie2mpeg to convert to an mpeg file.- TO DO - - output MPEGs (using mpeg_encode) - convert to OpenGL - more interaction with display windows (e.g. interactive zoom) - extensive documentation************************************************************************21/8/9618/9/96Addition of Drawing Routines by Tony Heap-modified and extended by Adam Baumberg=========================================Edits to image.h, image.cc, RGB32Image.h, RGB32Image.cc Gray8Image.h Gray8Image.ccAmmended the following virtual member functions to Image class: virtual void set_draw_colour(unsigned char grey); // accepts greyscale values in range 0..255 virtual void set_draw_colour(unsigned char r, unsigned char g, unsigned char b); // accepts rgb values in range 0..255 virtual void plot_pixel(int x, int y); virtual void draw_horizontal(int y , int x_left, int x_right);Added the following (base class) functions void set_line_width(realno w); void draw_filled_circle(int x0, int y0, int r); void draw_line(int x0 ,int y0, int x1, int y1); void draw_circle(int xc, int yc, int r); // draw a filled concave polygon into the image // (see Point2.h for Point2 class) void draw_filled_polygon(int nvertices, Point2* vertices);The draw_xxx routines are implemented in the base class, but plot_pixel, draw_horizontal, set_colour have to be done in the derived class (see RGB32Image class for examples). *******************************************************************************18/9/96 various changes (Adam Baumberg)1. drawing routines (see above)2. Grayscale to RGB conversion using a colour map array ... Gray8Image::to_rgb(RGB32pixel* color_map, Image* res); // maps grayscale image data to colour // each greylevel g becomes a colour pixel, color_map[g]3. When compiling with the "USE_GL" directive, all X-stuff is now removed (this is the default)4. improvements to SG movie class (MovieStore) - if constructor passed zero for maximum number of frames the movie is variable length and flushed at every add_a_frame call. Hence if the program is interupted a valid movie is still created. - In this mode of operation, if the movie file already exists when the constructor is called then new frames are appended to the existing movie.5. patched PgmSource class to cope with variable number of digits (e.g. frame8.pgm, frame9.pgm, frame10.pgm) also checks for compressed images (.gz or .Z) and decompresses them appropriately.6. added plane to plane projection function ... Image::plane_project(NagMatrix &inverse_projection, Image* res); where "inverse_projection" maps a point from the new plane to the original image plane.7. Note that the image class now requires the matrix class to compile (-lis -lmatrix) I have defined realno to be double (necessary for the matrix class since the single precision nag routines are not available at the moment).*******************************************************************************
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?