CodeVis.com SourceForge.net Logo

CVImageGrey Class Reference

#include <CVImageGrey.h>

Inheritance diagram for CVImageGrey:

CVImage List of all members.

Detailed Description

CVImageGrey is an 8-bit greyscale image class derived from CVImage

See CVImage.h for general documentation.

See also:
CVImage, CVImageRGB24, CVImageRGBFloat
RCSfile
CVImageGrey.h,v
Date
2004/02/08 23:47:39
Revision
1.1.1.1
Author
mikeellison

Definition at line 64 of file CVImageGrey.h.

Public Member Functions

Protected Member Functions

Private Attributes


Constructor & Destructor Documentation

CVImageGrey::CVImageGrey  )  [protected]
 

Protected constructor - use CVImage::CreateImage() to construct.

Definition at line 56 of file CVImageGrey.cpp.

CVImageGrey::~CVImageGrey  )  [protected, virtual]
 

Protected destructor - use CVImage::ReleaseImage() to destroy.

Definition at line 61 of file CVImageGrey.cpp.


Member Function Documentation

int CVImageGrey::GetBytesPerPixel  )  const [virtual]
 

GetBytesPerPixel retrieves the number of bytes per pixel. Note that pixel can be in floating point or integer format, depending on the image type.

Returns:
int - bytes per pixel

Implements CVImage.

Definition at line 79 of file CVImageGrey.cpp.

CVImage::CVIMAGE_TYPE CVImageGrey::GetImageType  )  const [virtual]
 

GetImageType() retrieves the image type. See CVIMAGE_TYPE enum.

Returns:
CVIMAGE_TYPE specifying the image's type.

Implements CVImage.

Definition at line 88 of file CVImageGrey.cpp.

References CVImage::CVIMAGE_GREY, and CVImage::CVIMAGE_TYPE.

CVRES CVImageGrey::GetMaxPixelValue float &  maxValue  )  const [virtual]
 

GetMaxPixelValue() retrieves the maximum value of any pixel in the image.

In multichannel images (e.g. RGB triplets), it will return the maximum value on any of the channels.

All child classes should implement this.

Parameters:
maxValue - reference to max pixel value, set on return.
Returns:
CVRES result code
See also:
GetPixel(), SetPixel(), CVImage::GetMaxPixel()

Implements CVImage.

Definition at line 127 of file CVImageGrey.cpp.

References CVRES, and CVImage::GetMaxPixel().

int CVImageGrey::GetNumChannels  )  const [virtual]
 

GetNumChannels retrieves the number of channels per pixel. This is one in greyscale, 3 in RGB, and 4 in RGBA

Returns:
int - number of channels per pixel.
See also:
GetBytesPerPixel()

Implements CVImage.

Definition at line 70 of file CVImageGrey.cpp.

CVRES CVImageGrey::GetPixel int  x,
int  y,
float &  r,
float &  g,
float &  b
const [virtual]
 

GetPixel() retrieves the red, green, and blue values for a specified pixel as floating points.

This is for convenience and prototyping - for high-speed image processing you'll need to work more directly with the image buffer.

Within CVImageGrey, this returns the intensity value on all three channels (red, green, and blue).

Parameters:
x - x position within the image of the pixel
y - y position within the image of the pixel
r - receives the red value of the pixel
g - receives the green value of the pixel
b - receives the blue value of the pixel
Returns:
CVRES result code. CVRES_SUCCESS on success.
See also:
SetPixel()

Implements CVImage.

Definition at line 155 of file CVImageGrey.cpp.

References CVImage::AbsWidth(), CVAssert, CVRES, CVRES_IMAGE_EMPTY_ERR, CVRES_IMAGE_OUT_OF_RANGE, CVRES_SUCCESS, CVImage::fData, CVImage::fHeight, CVImage::fWidth, CVImage::XOffsetAbs(), and CVImage::YOffsetAbs().

const char * CVImageGrey::GetPNMExtension  )  const [virtual]
 

GetPNMExtension() retrieves the default file extension for PNM file saving. (e.g. ".pgm" for greyscale)

Returns:
const char* - ASCIIZ default file extension, including preceeding '.'
See also:
Load(), Save()

Implements CVImage.

Definition at line 101 of file CVImageGrey.cpp.

char CVImageGrey::GetPNMMagicVal  )  const [virtual]
 

GetPNMMagicVal() retrieves the magic value for a pnm file matching the current image format.

Returns:
char - Magic value for PNM files (e.g. '5' for 'P5' .pgm's)
See also:
Load(), Save()

Implements CVImage.

Definition at line 110 of file CVImageGrey.cpp.

CVRES CVImageGrey::SetFromWin32Bmp const BITMAPINFOHEADER *  bmih,
const unsigned char *  data
[protected, virtual]
 

Win32-only function for setting image data from a bitmap. WARNING: Currently only supports 24-bit uncompressed RGB bitmaps

Bitmap header and data may be freed after call - we do a deep copy of the data we care about.

Parameters:
bmih - BITMAPINFOHEADER with format information
data - raw bitmap data matching bmih format.
Returns:
CVRES result code.
See also:
CVRES_CORE_ENUM, CVRES_IMAGE_ENUM, CVImage::ReleaseImage()

Reimplemented from CVImage.

Definition at line 289 of file CVImageGrey.cpp.

References CVImage::Create(), CVAssert, CVRES, CVRES_SUCCESS, CVImage::fData, CVImage::fHeight, and CVImage::fWidth.

CVRES CVImageGrey::SetPixel int  x,
int  y,
float  r,
float  g,
float  b
[virtual]
 

SetPixel() sets the red, green, and blue pixel values for a pixel

This is for convenience and prototyping - for high-speed image processing you'll need to work more directly with the image buffer.

Within CVImageGrey(), this sets the pixel to: value = 0.299r + 0.587g + 0.114b

Values are from the Y (Luminance) in YIQ conversion, Computer Graphics, Principles and Practice 2nd Ed. by Foley, van Dam, Feiner, Hughes.

Intensity values above 255 will be truncated to 255. Values below 0 will be set to 0.

Parameters:
x - x position within the image of the pixel
y - y position within the image of the pixel
r - receives the red value of the pixel
g - receives the green value of the pixel
b - receives the blue value of the pixel
Returns:
CVRES result code. CVRES_SUCCESS on success.
See also:
GetPixel()

Implements CVImage.

Definition at line 226 of file CVImageGrey.cpp.

References CVImage::AbsWidth(), CVAssert, CVMax(), CVMin(), CVRES, CVRES_IMAGE_EMPTY_ERR, CVRES_IMAGE_OUT_OF_RANGE, CVRES_SUCCESS, CVImage::fData, CVImage::fHeight, CVImage::fWidth, CVImage::XOffsetAbs(), and CVImage::YOffsetAbs().


Member Data Documentation

friend CVImageGrey::CVImage [private]
 

Definition at line 67 of file CVImageGrey.h.


The documentation for this class was generated from the following files:

Generated on Mon Mar 1 13:27:14 2004 for VidCapture Library by doxygen 1.3.3
CodeVis VidCapture 0.2 Copyright © 2003-2004 by Michael Ellison.