CombineByMask
Produces a combination of two images in a complementary way.
Access to parameter description
CombineByMask produces an output image $O$ which is the combination of two images $I_1$ and $I_2$ by following a binary mask B as follows:
$$ O(n,m)=\left\{\begin{array}{ll} I_1(n,m) & ~\mbox{if $B(n,m) = 1$}\\ I_2(n,m) & ~\mbox{if $B(n,m) = 0$}\end{array}\right. $$ See also
Access to parameter description
CombineByMask produces an output image $O$ which is the combination of two images $I_1$ and $I_2$ by following a binary mask B as follows:
$$ O(n,m)=\left\{\begin{array}{ll} I_1(n,m) & ~\mbox{if $B(n,m) = 1$}\\ I_2(n,m) & ~\mbox{if $B(n,m) = 0$}\end{array}\right. $$ See also
Function Syntax
This function returns outputImage.
// Function prototype
std::shared_ptr< iolink::ImageView > combineByMask( std::shared_ptr< iolink::ImageView > inputImage1, std::shared_ptr< iolink::ImageView > inputImage2, std::shared_ptr< iolink::ImageView > inputBinaryImage, std::shared_ptr< iolink::ImageView > outputImage = nullptr );
This function returns outputImage.
// Function prototype. combine_by_mask(input_image1: idt.ImageType, input_image2: idt.ImageType, input_binary_image: idt.ImageType, output_image: idt.ImageType = None) -> idt.ImageType
This function returns outputImage.
// Function prototype. public static IOLink.ImageView CombineByMask( IOLink.ImageView inputImage1, IOLink.ImageView inputImage2, IOLink.ImageView inputBinaryImage, IOLink.ImageView outputImage = null );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputImage1 |
The first input image. | Image | Binary, Label, Grayscale or Multispectral | nullptr | |
inputImage2 |
The second input image. It must have same dimensions and type as other input images. | Image | Binary, Label, Grayscale or Multispectral | nullptr | |
inputBinaryImage |
The input binary mask. It must have same dimensions and type as other input images. | Image | Binary | nullptr | |
outputImage |
The output image. Its dimensions and type are forced to the same values as the inputs. | Image | nullptr |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
input_image1 |
The first input image. | image | Binary, Label, Grayscale or Multispectral | None | |
input_image2 |
The second input image. It must have same dimensions and type as other input images. | image | Binary, Label, Grayscale or Multispectral | None | |
input_binary_image |
The input binary mask. It must have same dimensions and type as other input images. | image | Binary | None | |
output_image |
The output image. Its dimensions and type are forced to the same values as the inputs. | image | None |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputImage1 |
The first input image. | Image | Binary, Label, Grayscale or Multispectral | null | |
inputImage2 |
The second input image. It must have same dimensions and type as other input images. | Image | Binary, Label, Grayscale or Multispectral | null | |
inputBinaryImage |
The input binary mask. It must have same dimensions and type as other input images. | Image | Binary | null | |
outputImage |
The output image. Its dimensions and type are forced to the same values as the inputs. | Image | null |
Object Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); CombineByMask combineByMaskAlgo; combineByMaskAlgo.setInputImage1( foam ); combineByMaskAlgo.setInputImage2( foam ); combineByMaskAlgo.setInputBinaryImage( foam_sep ); combineByMaskAlgo.execute(); std::cout << "outputImage:" << combineByMaskAlgo.outputImage()->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip")) foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) combine_by_mask_algo = imagedev.CombineByMask() combine_by_mask_algo.input_image1 = foam combine_by_mask_algo.input_image2 = foam combine_by_mask_algo.input_binary_image = foam_sep combine_by_mask_algo.execute() print("output_image:", str(combine_by_mask_algo.output_image))
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); CombineByMask combineByMaskAlgo = new CombineByMask { inputImage1 = foam, inputImage2 = foam, inputBinaryImage = foam_sep }; combineByMaskAlgo.Execute(); Console.WriteLine( "outputImage:" + combineByMaskAlgo.outputImage.ToString() );
Function Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = combineByMask( foam, foam, foam_sep ); std::cout << "outputImage:" << result->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip")) foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) result = imagedev.combine_by_mask(foam, foam, foam_sep) print("output_image:", str(result))
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); IOLink.ImageView result = Processing.CombineByMask( foam, foam, foam_sep ); Console.WriteLine( "outputImage:" + result.ToString() );