123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- //
- // This file is auto-generated. Please don't modify it!
- //
- #pragma once
- #ifdef __cplusplus
- //#import "opencv.hpp"
- #import "opencv2/structured_light.hpp"
- #import "opencv2/structured_light/graycodepattern.hpp"
- #else
- #define CV_EXPORTS
- #endif
- #import <Foundation/Foundation.h>
- #import "StructuredLightPattern.h"
- @class Mat;
- @class Point2i;
- NS_ASSUME_NONNULL_BEGIN
- // C++: class GrayCodePattern
- /**
- * Class implementing the Gray-code pattern, based on CITE: UNDERWORLD.
- *
- * The generation of the pattern images is performed with Gray encoding using the traditional white and black colors.
- *
- * The information about the two image axes x, y is encoded separately into two different pattern sequences.
- * A projector P with resolution (P_res_x, P_res_y) will result in Ncols = log 2 (P_res_x) encoded pattern images representing the columns, and
- * in Nrows = log 2 (P_res_y) encoded pattern images representing the rows.
- * For example a projector with resolution 1024x768 will result in Ncols = 10 and Nrows = 10.
- *
- * However, the generated pattern sequence consists of both regular color and color-inverted images: inverted pattern images are images
- * with the same structure as the original but with inverted colors.
- * This provides an effective method for easily determining the intensity value of each pixel when it is lit (highest value) and
- * when it is not lit (lowest value). So for a a projector with resolution 1024x768, the number of pattern images will be Ncols * 2 + Nrows * 2 = 40.
- *
- *
- * Member of `Structured_light`
- */
- CV_EXPORTS @interface GrayCodePattern : StructuredLightPattern
- #ifdef __cplusplus
- @property(readonly)cv::Ptr<cv::structured_light::GrayCodePattern> nativePtrGrayCodePattern;
- #endif
- #ifdef __cplusplus
- - (instancetype)initWithNativePtr:(cv::Ptr<cv::structured_light::GrayCodePattern>)nativePtr;
- + (instancetype)fromNative:(cv::Ptr<cv::structured_light::GrayCodePattern>)nativePtr;
- #endif
- #pragma mark - Methods
- //
- // static Ptr_GrayCodePattern cv::structured_light::GrayCodePattern::create(int width, int height)
- //
- /**
- * Constructor
- */
- + (GrayCodePattern*)create:(int)width height:(int)height NS_SWIFT_NAME(create(width:height:));
- //
- // size_t cv::structured_light::GrayCodePattern::getNumberOfPatternImages()
- //
- /**
- * Get the number of pattern images needed for the graycode pattern.
- *
- * @return The number of pattern images needed for the graycode pattern.
- *
- */
- - (size_t)getNumberOfPatternImages NS_SWIFT_NAME(getNumberOfPatternImages());
- //
- // void cv::structured_light::GrayCodePattern::setWhiteThreshold(size_t value)
- //
- /**
- * Sets the value for white threshold, needed for decoding.
- *
- * White threshold is a number between 0-255 that represents the minimum brightness difference required for valid pixels, between the graycode pattern and its inverse images; used in getProjPixel method.
- *
- * @param value The desired white threshold value.
- *
- */
- - (void)setWhiteThreshold:(size_t)value NS_SWIFT_NAME(setWhiteThreshold(value:));
- //
- // void cv::structured_light::GrayCodePattern::setBlackThreshold(size_t value)
- //
- /**
- * Sets the value for black threshold, needed for decoding (shadowsmasks computation).
- *
- * Black threshold is a number between 0-255 that represents the minimum brightness difference required for valid pixels, between the fully illuminated (white) and the not illuminated images (black); used in computeShadowMasks method.
- *
- * @param value The desired black threshold value.
- *
- */
- - (void)setBlackThreshold:(size_t)value NS_SWIFT_NAME(setBlackThreshold(value:));
- //
- // void cv::structured_light::GrayCodePattern::getImagesForShadowMasks(Mat& blackImage, Mat& whiteImage)
- //
- /**
- * Generates the all-black and all-white images needed for shadowMasks computation.
- *
- * To identify shadow regions, the regions of two images where the pixels are not lit by projector's light and thus where there is not coded information,
- * the 3DUNDERWORLD algorithm computes a shadow mask for the two cameras views, starting from a white and a black images captured by each camera.
- * This method generates these two additional images to project.
- *
- * @param blackImage The generated all-black CV_8U image, at projector's resolution.
- * @param whiteImage The generated all-white CV_8U image, at projector's resolution.
- */
- - (void)getImagesForShadowMasks:(Mat*)blackImage whiteImage:(Mat*)whiteImage NS_SWIFT_NAME(getImagesForShadowMasks(blackImage:whiteImage:));
- //
- // bool cv::structured_light::GrayCodePattern::getProjPixel(vector_Mat patternImages, int x, int y, Point& projPix)
- //
- /**
- * For a (x,y) pixel of a camera returns the corresponding projector pixel.
- *
- * The function decodes each pixel in the pattern images acquired by a camera into their corresponding decimal numbers representing the projector's column and row,
- * providing a mapping between camera's and projector's pixel.
- *
- * @param patternImages The pattern images acquired by the camera, stored in a grayscale vector < Mat >.
- * @param x x coordinate of the image pixel.
- * @param y y coordinate of the image pixel.
- * @param projPix Projector's pixel corresponding to the camera's pixel: projPix.x and projPix.y are the image coordinates of the projector's pixel corresponding to the pixel being decoded in a camera.
- */
- - (BOOL)getProjPixel:(NSArray<Mat*>*)patternImages x:(int)x y:(int)y projPix:(Point2i*)projPix NS_SWIFT_NAME(getProjPixel(patternImages:x:y:projPix:));
- @end
- NS_ASSUME_NONNULL_END
|