Image_uch |
Overview
Image_uch contains a Matrix_uch object, along with some additional spatial information. Its main purpose is to make possible a matrix able to be placed in a 2 dimensional space. Map projection information is also added to handle various types of Geographic information data.
Spatial information is automatically taken care of in all kind of Image object operations and functions, hence the user does not have to worry about it.
An image_uch object has a full access to all class functions of matrix, as well as its own class functions.
An image_uch can have a flag_null, and its value can be 0 (off) or 1 (on). This makes possible to omit some data, e.g. background data, when processing an image. When flag_null = 0, there is no omission of nulldata.
Member data
Name | Data type | Meaning |
id | int | ID of an image |
matrix | Matrix_uch | a Matrix_uch object |
lower_left | Pt2D | coordinate of lower left corner of an image |
upper_right | Pt2D | coordinate of upper right corner of an image |
projection | Projection | map projection of an image |
Operator
See details in operator section.
Construction function
{Image_uch} ret = IMAGE_UCH([{int} argm1, {int} argm2, {double} argm3, {double} argm4, {double} argm5, {double} argm6, {Projection} argm7])
argm1 = no of row (default = 0)
argm2 = no of column (default = 0)
argm3 = x coordinate (lower left) (default = 0)
argm4 = y coordinate (lower left) (default = 0)
argm5 = x coordinate (upper right) (default = 0)
argm6 = y coordinate (upper right) (default = 0)
argm7 = map projection (default = default of Projection())
Example:
->Img = Image_uch() | an empty image |
->Img = Image_uch(100,200)
|
an image with 100 rows and 200 columns,
lower left = (0,0) upper right = (200,100) Projection = default value of function Projection() |
Lfunction
object({int} argm1, {int} argm2) = {uchar} left-value
argm1 = row index
argm2 = column index
object.ID() = {int} left-value
object.LOWER_LEFT() = {Pt2D} left-value
object.UPPER_RIGHT() = {Pt2D} left-value
object.MATRIX() = {Matrix} left-value
object.PROJ() = {Projection} left-value
object.FLAG_NULL() = {bool} left-value
object.NULLDATA() = {double} left-value
Example:
->Img(10,20) = 999 | set value of element at row 10, column 20 |
->Img.lower_left() = Pt2D(10,200) | set lower left point coordinate |
->Img.upper_right() = Pt2D(100.536 ,2000.500) | set upper right point coordinate |
->P = Projection()
->P.setUTM(47) ->Img.projection() = P |
set a particular map projection |
->A = [ 1 2 3; 4 5 6;
7 8 9]
->Img.matrix() = A
|
change content of matrix to
matrix "A"
Notice that coordinates of the two corner points remain the same, while size of Img changes to 3 rows and 3 columns, according to the size of "A" |
Class function