MIL_ID ContextId, | //in |
const MIL_ID *ImageArrayPtr, | //in |
MIL_ID RegResultOrImageId, | //in |
MIL_INT NumImages, | //in |
MIL_INT64 ControlFlag | //in |
This function performs the registration operation specified by the registration context on the input images. It can perform a correlation-stitching registration operation, an extended depth of field registration operation, a depth-from-focus registration operation, a high dynamic range registration operation, or a photometric stereo registration operation.
Specifies the context to use for the registration; this establishes the operation to perform. The context must have been allocated using MregAlloc().
See the Parameter associations section for possible values that can be specified.
Specifies the address of the array containing the buffer identifiers of the input images. If unused, set this parameter to M_NULL. When specifying an image buffer, it must not have a region of interest (ROI) associated with it. Using an image buffer with an ROI will cause an error.
See the Parameter associations section for possible values that can be specified.
Specifies the identifier of the registration result buffer or image buffer in which to write the results of the registration operation.
If unused, set this parameter to M_NULL.
See the Parameter associations section for possible values that can be specified.
Specifies the size of the specified image array.
If unused, set this parameter to M_NULL.
When using a standard vector (std::vector) overload function in C++, you can pass M_DEFAULT to this parameter and MIL will automatically determine the size based on the number of items in the vector passed to the ImageArrayPtr parameter.
See the Parameter associations section for possible values that can be specified.
Specifies the operation mode.
See the Parameter associations section for possible values that can be specified.
The table below lists possible values for the ContextId, ImageArrayPtr, RegResultOrImageId, NumImages, and ControlFlag parameters.
Set unused parameters to M_NULL.
Note that except in the case of M_DEFAULT_EXTENDED_DEPTH_OF_FIELD_CONTEXT, if the ImageArrayPtr, RegResultOrImageId, and/or NumImages parameters are not listed, they are not used and should be set to M_NULL.
For specifying the operation mode
|
|||||||||||||||||||||||||||||||||||||||
|
Description | ||||||||||||||||||||||||||||||||||||||
ControlFlag | |||||||||||||||||||||||||||||||||||||||
ImageArrayPtr | |||||||||||||||||||||||||||||||||||||||
RegResultOrImageId | |||||||||||||||||||||||||||||||||||||||
NumImages | |||||||||||||||||||||||||||||||||||||||
M_DEFAULT_EXTENDED_DEPTH_OF_FIELD_CONTEXT |
Same as MIL extended depth of field registration context identifier. Specifies the default M_EXTENDED_DEPTH_OF_FIELD registration context with all the control types (MregControl()) in the context set to M_DEFAULT. (summarize)Same as MIL extended depth of field registration context identifier. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL
correlation-stitching registration context identifier |
Specifies a valid correlation-stitching registration context identifier, previously allocated using MregAlloc() with M_STITCHING. When this context is passed, a correlation-stitching registration operation is performed. The function calculates the optimal match in the overlapping region between each image and its reference image and then calculates the transformation needed to achieve this match. Once the transformation that maps each image into its reference image's pixel coordinate system is calculated, it is converted so that it maps the image into the global pixel coordinate system. Typically for a correlation-stitching registration context, every input image is associated with a registration element that provides the rough location of the image in another input image (reference image) or in the global pixel coordinate system. (summarize)Specifies a valid correlation-stitching registration context identifier, previously allocated using MregAlloc() with M_STITCHING. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default correlation-stitching registration operation mode. (summarize)Specifies the default correlation-stitching registration operation mode. (more details...) |
||||||||||||||||||||||||||||||||||||||
ImageArrayPtr |
Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. Every image in the specified image array is associated with the registration element and registration result element of the same index. For example, the first image is associated with the first registration element and the first registration result element. Therefore, it is important that the number of images supplied in the array be less than or equal to the number of registration elements. You might not want to perform the optimization step of the correlation-stitching registration calculation when the precise location of one or more images is known. In this case, you have two options. You can replace the image for which you want to skip the optimization step with M_NULL in the image array or you can disable M_OPTIMIZE_LOCATION in the image's registration element using MregControl(). For more information, see the Skipping the optimization step subsection of the Customizing your registration settings section of Chapter 11: Correlation stitching registration and mosaicing. (summarize)Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies a valid correlation-stitching result buffer identifier, previously allocated using MregAllocResult() with M_STITCHING_RESULT. The results of the registration calculation can be retrieved using MregGetResult(). These results can be used to perform other operations supported by the registration module. For example, the results can be used to create a mosaic of the input images using MregTransformImage(); you can also use them with MregTransformCoordinate() or MregTransformCoordinateList() to transform positions between two of the following coordinate systems: the global pixel coordinate system, any registered image's pixel coordinate system, or the mosaic's coordinate system. (summarize)Specifies a valid correlation-stitching result buffer identifier, previously allocated using MregAllocResult() with M_STITCHING_RESULT. (more details...) |
||||||||||||||||||||||||||||||||||||||
NumImages |
Specifies the size of the image array. If the array contains fewer image buffer identifiers than the specified size, the outstanding elements of the array should be set to M_NULL. (summarize)Specifies the size of the image array. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL depth-from-focus
registration context identifier |
Specifies a valid depth-from-focus registration context identifier, previously allocated using MregAlloc() with M_DEPTH_FROM_FOCUS. When this context is passed, a depth-from-focus registration operation is performed. This operation generates an image that conveys depth information, from a set of two-dimensional images of the same scene taken at different focus distances. The operation calculates, for each pixel, in which image that pixel is found most in focus. It replaces the corresponding pixel entry with the index of the image. This output image is referred to as the index map. The depth-from-focus operation requires that every input image is of the same scene, at different focus levels. (summarize)Specifies a valid depth-from-focus registration context identifier, previously allocated using MregAlloc() with M_DEPTH_FROM_FOCUS. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_COMPUTE. (summarize)Same as M_COMPUTE. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_ACCUMULATE_AND_COMPUTE |
Specifies to process additional input images, and then calculate the index map using this new information and all of the information previously processed and stored in the result buffer. Each call to MregCalculate() with this constant will accumulate new results and a new index map in the depth-from-focus result buffer. This operation will not empty the result buffer of previous entries. If an index map is already in the result buffer prior to MregCalculate(), it will be discarded and replaced with the new index map. Note that when using this value with a non-empty result buffer, the settings of the specified context must match the settings of the context used to add the previous image information to the result buffer, otherwise an error occurs. You can retrieve preprocessing results from a depth-from-focus result buffer using MregGetResult(), and access the depth-from-focus index map by drawing it using MregDraw() with M_DRAW_DEPTH_INDEX_MAP. (summarize)Specifies to process additional input images, and then calculate the index map using this new information and all of the information previously processed and stored in the result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
ImageArrayPtr |
Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. These images must not have a region of interest (ROI) associated with them. Using images with an ROI will cause an error. The image buffers must be 1-band, and must all have the same size and type. (summarize)Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the identifier of the result buffer in which to save results; if the result buffer contains results from a previous depth-from-focus operation, they will be considered for the current operation. (summarize)Specifies the identifier of the result buffer in which to save results; if the result buffer contains results from a previous depth-from-focus operation, they will be considered for the current operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
NumImages |
Specifies the size of the image array. If the array contains fewer image buffer identifiers than the specified size, the outstanding elements of the array should be set to M_NULL. (summarize)Specifies the size of the image array. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_COMPUTE |
Specifies to calculate the index map from the specified input images. If passing a result buffer to RegResultOrImageId, MregCalculate() will clear the result buffer of previous results, and then fill the buffer with the index map and new results. You can retrieve preprocessing results from a depth-from-focus result buffer using MregGetResult(), and access the depth-from-focus index map by drawing it using MregDraw() with M_DRAW_DEPTH_INDEX_MAP. If passing an image buffer to RegResultOrImageId, the function clears the image buffer, and writes the resulting index map in the image buffer; no other results are accessible. (summarize)Specifies to calculate the index map from the specified input images. (more details...) |
||||||||||||||||||||||||||||||||||||||
ImageArrayPtr |
Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. These images must not have a region of interest (ROI) associated with them. Using images with an ROI will cause an error. The image buffers must be 1-band, and must all have the same size and type. (summarize)Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the identifier of the result buffer or image buffer in which to save results. (summarize)Specifies the identifier of the result buffer or image buffer in which to save results. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL depth-from-focus registration
result buffer identifier |
Specifies a valid depth-from-focus registration result buffer identifier, previously allocated using MregAllocResult() with M_DEPTH_FROM_FOCUS_RESULT. |
||||||||||||||||||||||||||||||||||||||
MIL image buffer identifier |
Specifies the identifier of a valid image buffer, previously allocated on the required system using MbufAlloc...(). The image buffer must have a type large enough to contain the maximum number of indices (NumImages). (summarize)Specifies the identifier of a valid image buffer, previously allocated on the required system using MbufAlloc...(). (more details...) |
||||||||||||||||||||||||||||||||||||||
NumImages |
Specifies the size of the image array. If the array contains fewer image buffer identifiers than the specified size, the outstanding elements of the array should be set to M_NULL. (summarize)Specifies the size of the image array. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_RESET |
Specifies to clear the specified result buffer. (summarize)Specifies to clear the specified result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the identifier of the result buffer, previously allocated using MregAllocResult() with M_DEPTH_FROM_FOCUS_RESULT, to clear. (summarize)Specifies the identifier of the result buffer, previously allocated using MregAllocResult() with M_DEPTH_FROM_FOCUS_RESULT, to clear. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL extended depth
of field registration context identifier |
Specifies a valid extended depth of field registration context identifier, previously allocated using MregAlloc() with M_EXTENDED_DEPTH_OF_FIELD. When using an M_EXTENDED_DEPTH_OF_FIELD registration context, this function performs an extended depth of field registration operation. It will preprocess the specified input images and then fuse the images to create an extended depth of field (EDoF) image. The results can be stored in a previously allocated result buffer or an image buffer. Each input image must be of the same scene, taken under different focus distances; the operation combines the focused objects in all of the images to create an image with all the objects of interest in focus. In the M_ACCUMULATE and M_ACCUMULATE_AND_COMPUTE modes, images must be preprocessed using the same registration context and settings (for example, same maximum radius of the circle of confusion). You can retrieve results from an extended depth of field result buffer using MregGetResult(), and access the EDoF image by drawing it using MregDraw(). (summarize)Specifies a valid extended depth of field registration context identifier, previously allocated using MregAlloc() with M_EXTENDED_DEPTH_OF_FIELD. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_COMPUTE. (summarize)Same as M_COMPUTE. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_ACCUMULATE |
Specifies to preprocess the images and to add the information to the result buffer. This will not empty the result buffer prior to writing to it, nor calculate the extended depth of field (EDoF) image. To create the EDoF image after accumulating, you must call MregCalculate() with M_ACCUMULATE_AND_COMPUTE. Note that when using this value with a non-empty result buffer, the settings of the specified context must match the settings of the context used to add the previous image information to the result buffer. (summarize)Specifies to preprocess the images and to add the information to the result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
ImageArrayPtr |
Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. The input images must have the same size, type, and number of bands. You can replace images in the array that you do not want to use in the calculations with M_NULL. This allows you to establish the minimum number of focus distances at which to grab the input images and still obtain a good EDoF image. The fewer the number of input images, the faster the operation. For example, you can perform the operation with 10 different focus distances, and then try performing the same operation with every second image set to M_NULL to see if the EDoF image is still acceptable. (summarize)Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the extended depth of field result buffer to fill with the information extracted when preprocessing the input images. (summarize)Specifies the extended depth of field result buffer to fill with the information extracted when preprocessing the input images. (more details...) |
||||||||||||||||||||||||||||||||||||||
NumImages |
Specifies the size of the image array. If the array contains fewer image buffer identifiers than the specified size, the outstanding elements of the array should be set to M_NULL. (summarize)Specifies the size of the image array. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_ACCUMULATE_AND_COMPUTE |
Specifies to preprocess the additional input images, and then compute the EDoF image using this new information and all of the information previously processed and stored in the result buffer. The EDoF image will only be calculated after the last image has been processed. This will not empty the result buffer of previous entries. If an EDoF image is already in the result buffer prior to MregCalculate(), it will be discarded and replaced with the new EDoF image. Note that you don't have to pass additional input images. If no input images are specified, the operation calculates the EDoF image using only the preprocessed information in the result buffer. Note that when using this value with a non-empty result buffer, the settings of the specified context must match the settings of the context used to add the previous image information to the result buffer. (summarize)Specifies to preprocess the additional input images, and then compute the EDoF image using this new information and all of the information previously processed and stored in the result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
ImageArrayPtr |
Specifies the input images to use when performing the registration operation. (summarize)Specifies the input images to use when performing the registration operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_NULL |
Specifies to calculate the EDoF image using only the preprocessed information available in the result buffer. |
||||||||||||||||||||||||||||||||||||||
Array of image buffer IDs |
Specifies the address of an array of MIL image buffer identifiers to use, besides also using the preprocessed information available in the result buffer. The input images must have the same size, type, and number of bands. You can replace images in the array that you do not want to use in the calculations with M_NULL. This allows you to establish the minimum number of focus distances at which to grab the input images and still obtain a good EDoF image. The fewer the number of input images, the faster the operation. For example, you can perform the operation with 10 different focus distances, and then try performing the same operation with every second image set to M_NULL to see if the EDoF image is still acceptable. (summarize)Specifies the address of an array of MIL image buffer identifiers to use, besides also using the preprocessed information available in the result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the result buffer to fill. You can retrieve preprocessing results from an extended depth of field result buffer using MregGetResult(), and access the EDoF image by drawing it using MregDraw(). (summarize)Specifies the result buffer to fill. (more details...) |
||||||||||||||||||||||||||||||||||||||
NumImages |
Specifies the size of the image array. If the array contains fewer image buffer identifiers than the specified size, the outstanding elements of the array should be set to M_NULL. If you passed M_NULL to ImageArrayPtr, set this parameter to 0. (summarize)Specifies the size of the image array. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_COMPUTE |
Specifies to calculate the EDoF image immediately. If passing a result buffer to RegResultOrImageId, MregCalculate() will clear the result buffer of previous results, and then fill the result with the preprocessing information and the EDoF image. If passing an image buffer to RegResultOrImageId, the function clears the image buffer of any previous image, and writes the resulting EDoF image in the image buffer; no other results are accessible. (summarize)Specifies to calculate the EDoF image immediately. (more details...) |
||||||||||||||||||||||||||||||||||||||
ImageArrayPtr |
Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. The input images must have the same size, type, and number of bands. You can replace images in the array that you do not want to use in the calculations with M_NULL. This allows you to establish the minimum number of focus distances at which to grab the input images and still obtain a good EDoF image. The fewer the number of input images, the faster the operation. For example, you can perform the operation with 10 different focus distances, and then try performing the same operation with every second image set to M_NULL to see if the EDoF image is still acceptable. (summarize)Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the result buffer or image buffer to fill. (summarize)Specifies the result buffer or image buffer to fill. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL extended depth of field
registration result buffer identifier |
Specifies a valid extended depth of field registration result buffer identifier, previously allocated using MregAllocResult() with M_EXTENDED_DEPTH_OF_FIELD_RESULT. You can retrieve preprocessing results from an extended depth of field result buffer using MregGetResult(), and access the EDoF image by drawing it using MregDraw(). (summarize)Specifies a valid extended depth of field registration result buffer identifier, previously allocated using MregAllocResult() with M_EXTENDED_DEPTH_OF_FIELD_RESULT. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL image buffer identifier |
Specifies a valid image buffer, previously allocated on the required system using MbufAlloc...(). |
||||||||||||||||||||||||||||||||||||||
NumImages |
Specifies the size of the image array. If the array contains fewer image buffer identifiers than the specified size, the outstanding elements of the array should be set to M_NULL. (summarize)Specifies the size of the image array. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_RESET |
Specifies to clear the result buffer of all preprocessing information and the EDoF image, if applicable. (summarize)Specifies to clear the result buffer of all preprocessing information and the EDoF image, if applicable. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the result buffer, previously allocated using MregAllocResult() with M_EXTENDED_DEPTH_OF_FIELD_RESULT, to clear. (summarize)Specifies the result buffer, previously allocated using MregAllocResult() with M_EXTENDED_DEPTH_OF_FIELD_RESULT, to clear. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL high dynamic range
registration context identifier |
Specifies a valid high dynamic range registration context identifier, previously allocated using MregAlloc() with M_HIGH_DYNAMIC_RANGE. When this context is passed, a high dynamic range registration operation is performed. This function merges two or more images of the same subject that were taken with different exposure times, and therefore have different levels of saturation. Shorter exposure times produce darker images in which details in dark areas might not appear, and that have no saturation in brighter areas. Similarly, longer exposure times produce brighter images in which details in dark areas will appear, but brighter areas might begin to saturate (going over the sensor's light accumulation capacity) and lose detail. When the images are fused together, the resulting HDR image will show details in both dark areas and bright areas. When finished, the function applies tone mapping. The tone mapping is non-linear and can be tuned to better highlight a range of pixel intensities in the resulting images, without truncating other pixel intensities. You can control tone mapping settings using MregControl() with M_TONE_MAPPING_.... You can retrieve results from a high dynamic range result buffer using MregGetResult(), and access the HDR image by drawing it using MregDraw() with M_DRAW_HDR_IMAGE. (summarize)Specifies a valid high dynamic range registration context identifier, previously allocated using MregAlloc() with M_HIGH_DYNAMIC_RANGE. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_COMPUTE. (summarize)Same as M_COMPUTE. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_ACCUMULATE |
Specifies to preprocess the images and to add the information to the result buffer. This will not empty the result buffer prior to writing to it, nor calculate the high dynamic range image. To create the HDR image after accumulating, you must call MregCalculate() with M_ACCUMULATE_AND_COMPUTE. Note that when using this value with a non-empty result buffer, the settings of the specified context must match the settings of the context used to add the previous image information to the result buffer. (summarize)Specifies to preprocess the images and to add the information to the result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
ImageArrayPtr |
Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. Note that you must add images to the array in sequence, where the first index (index 0) holds the image providing the darkest details (longest exposure) and the largest index holds the image providing the brightest details (shortest exposure); calling MregCalculate() multiple times with M_ACCUMULATE does not change this requirement. Also note that each array index does not correspond to a specific exposure; only the order matters (from longest to shortest exposure), across all arrays passed until computation. You can replace images in the array that you do not want to use in the calculations with M_NULL. The input images must have the same size, and be 1-band 8- or 16-bit unsigned images. (summarize)Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the identifier of the high dynamic range result buffer to fill with the information extracted when preprocessing the input images. The result buffer must have been previously allocated using MregAllocResult() with M_HIGH_DYNAMIC_RANGE_RESULT. (summarize)Specifies the identifier of the high dynamic range result buffer to fill with the information extracted when preprocessing the input images. (more details...) |
||||||||||||||||||||||||||||||||||||||
NumImages |
Specifies the size of the image array. (summarize)Specifies the size of the image array. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_ACCUMULATE_AND_COMPUTE |
Specifies to process additional input images, and then calculate the HDR image using this new information and all of the information previously processed and stored in the result buffer. The HDR image is calculated only after the last image has been processed. This will not empty the result buffer of previous entries. If an HDR image is already in the result buffer prior to calling MregCalculate(), it is discarded and replaced with the new HDR image. Note that you don't have to pass additional input images. If no input images are specified, the operation calculates the HDR image using only the preprocessed information in the result buffer. Note that when using this value with a non-empty result buffer, the settings of the specified context must match the settings of the context used to add the previous image information to the result buffer, otherwise an error occurs. (summarize)Specifies to process additional input images, and then calculate the HDR image using this new information and all of the information previously processed and stored in the result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
ImageArrayPtr |
Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. Note that you must add images to the array in sequence, where the first index (index 0) holds the image providing the darkest details (longest exposure) and the largest index holds the image providing the brightest details (shortest exposure). If you have previously called MregCalculate() with M_ACCUMULATE, the current call to MregCalculate() with M_ACCUMULATE_AND_COMPUTE must continue the sequence. Also note that each array index does not correspond to a specific exposure; only the order matters (from longest to shortest exposure), across all arrays passed until computation. The input images must have the same size, and be 1-band 8- or 16-bit unsigned images. (summarize)Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_NULL |
Specifies to calculate the HDR image using only the preprocessed information available in the result buffer. |
||||||||||||||||||||||||||||||||||||||
Array of image buffer IDs |
Specifies the address of an array of MIL image buffer identifiers to use, besides also using the preprocessed information available in the result buffer. The input images must have the same size, type, and number of bands. You can replace images in the array that you do not want to use in the calculations with M_NULL. This allows you to establish the minimum number of exposures at which to grab the input images and still obtain a good HDR image. The fewer the number of input images, the faster the operation. For example, you can perform the operation with 10 different exposures, and then try performing the same operation with every second image set to M_NULL to see if the HDR image is still acceptable. (summarize)Specifies the address of an array of MIL image buffer identifiers to use, besides also using the preprocessed information available in the result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the identifier of the result buffer in which to save results; if the result buffer contains results from a previous high dynamic range operation, they will be considered for the current operation. The result buffer must have been previously allocated using MregAllocResult() with M_HIGH_DYNAMIC_RANGE_RESULT. (summarize)Specifies the identifier of the result buffer in which to save results; if the result buffer contains results from a previous high dynamic range operation, they will be considered for the current operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
NumImages |
Specifies the size of the image array. If you passed M_NULL to ImageArrayPtr, set this parameter to 0. (summarize)Specifies the size of the image array. (more details...) |
||||||||||||||||||||||||||||||||||||||
0 |
Specifies no input images. |
||||||||||||||||||||||||||||||||||||||
Value >= 1 |
Specifies the array size. |
||||||||||||||||||||||||||||||||||||||
M_COMPUTE |
Specifies to complete the HDR processing with the input images provided in the call. No previously added images are used. If passing a result buffer to RegResultOrImageId, MregCalculate() will clear the result buffer of previous results, and then fill the result with the preprocessing information and the HDR image. If passing an image buffer to RegResultOrImageId, the function clears the image buffer of any previous image, and writes the resulting HDR image in the image buffer; no other results are accessible. (summarize)Specifies to complete the HDR processing with the input images provided in the call. (more details...) |
||||||||||||||||||||||||||||||||||||||
ImageArrayPtr |
Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. Note that you must add images to the array in sequence, where the first index (index 0) holds the image providing the darkest details (longest exposure) and the largest index holds the image providing the brightest details (shortest exposure). Also note that each array index does not correspond to a specific exposure; only the order matters (from longest to shortest exposure). The input images must have the same size, and be 1-band 8- or 16-bit unsigned images. (summarize)Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the identifier of the result buffer or image buffer in which to store results. (summarize)Specifies the identifier of the result buffer or image buffer in which to store results. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL high dyamic range registration
result buffer identifier |
Specifies a valid high dynamic range registration result buffer identifier, previously allocated using MregAllocResult() with M_HIGH_DYNAMIC_RANGE_RESULT. |
||||||||||||||||||||||||||||||||||||||
MIL image buffer identifier |
Specifies the identifier of a valid image buffer to hold the computed HDR image; the image buffer must have been previously allocated on the required system using MbufAlloc...(). |
||||||||||||||||||||||||||||||||||||||
NumImages |
Specifies the size of the image array. (summarize)Specifies the size of the image array. (more details...) |
||||||||||||||||||||||||||||||||||||||
Value >= 2 |
Specifies the array size. |
||||||||||||||||||||||||||||||||||||||
M_RESET |
Specifies to clear the specified result buffer. (summarize)Specifies to clear the specified result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the identifier of the result buffer, previously allocated using MregAllocResult() with M_HIGH_DYNAMIC_RANGE_RESULT, to clear. (summarize)Specifies the identifier of the result buffer, previously allocated using MregAllocResult() with M_HIGH_DYNAMIC_RANGE_RESULT, to clear. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL photometric
stereo registration context identifier |
Specifies a valid photometric stereo registration context identifier, previously allocated using MregAlloc() with M_PHOTOMETRIC_STEREO. When this context is passed, a photometric stereo registration operation is performed. This operation generates an image that reveals raised and recessed features, surface reflectance changes, and/or surface defects. To highlight such features, the operation uses multiple images of the same scene taken under different directional lighting to produce a single enhanced image. The photometric stereo operation uses all of the source images jointly to compute the surface normal in each neighborhood of pixels, which is used to produce an albedo image, for example, and/or other photometric stereo images, depending on the operation specified with MregControl(). The photometric stereo operation requires that every input image is of the same scene, with different lighting source orientations. In addition, it assumes no camera settings are changed while grabbing the image. To perform this operation, the photometric stereo context must contain a registration element for each input image. Each registration element must specify the direction of the light used for its corresponding input image. (summarize)Specifies a valid photometric stereo registration context identifier, previously allocated using MregAlloc() with M_PHOTOMETRIC_STEREO. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_COMPUTE |
Specifies to calculate the photometric stereo image(s), and store results in a result buffer or an image buffer. Use MregControl() to specify the type of photometric stereo computation. (summarize)Specifies to calculate the photometric stereo image(s), and store results in a result buffer or an image buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
ImageArrayPtr |
Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. Note that the order in which the input images are specified in the array must agree with the counter-clockwise order in which the lights are placed around the scene. To illustrate, if you have four lights spaced evenly around a scene, and your first light is placed in line with the positive X-axis (zero degrees), and lights 2, 3, and 4 are placed at 90, 180, and 270 degrees, respectively, you must specify their corresponding images in the same order. The input images must have the same size and have one band only. (summarize)Specifies an array containing the buffer identifiers of the input images to use when performing the registration operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
RegResultOrImageId |
Specifies the result buffer or image buffer in which to store results. (summarize)Specifies the result buffer or image buffer in which to store results. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL image buffer identifier |
Specifies the identifier of the image buffer in which to store results. Specify the type of image to output using MregControl() with M_DRAW_WITH_NO_RESULT. (summarize)Specifies the identifier of the image buffer in which to store results. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL photometric stereo
registration result buffer identifier |
Specifies the identifier of the result buffer in which to store results. The identifier must be a valid photometric stereo registration result buffer identifier, previously allocated using MregAllocResult() with M_PHOTOMETRIC_STEREO_RESULT. If passing a result buffer to RegResultOrImageId, MregCalculate() will clear the result buffer of previous results, and then fill the result buffer with the photometric stereo image(s) and/or other new results. You can access the calculated images by drawing them using MregDraw(), provided you have passed a registration result buffer using MregControl(). (summarize)Specifies the identifier of the result buffer in which to store results. (more details...) |
||||||||||||||||||||||||||||||||||||||
NumImages |
Specifies the size of the image array. If the array contains fewer image buffer identifiers than the specified size, the outstanding elements of the array should be set to M_NULL. (summarize)Specifies the size of the image array. (more details...) |
||||||||||||||||||||||||||||||||||||||
Value > 3 |
Specifies the array size. |
Header | Include mil.h. |
Library | Use mil.lib; milreg.lib. |
DLL | Requires mil.dll; milreg.dll. |