←Select platform

ReferenceImagePoints Property

Summary
Gets or sets an array of LeadPoint structures that contain the feature points in the reference image.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public LeadPoint[] ReferenceImagePoints { get; set; } 
@property (nonatomic, strong, nullable) NSArray<NSValue *> *referenceImagePoints; //LeadPoint 
public LeadPoint getReferenceImagePoints(); 
public void setReferenceImagePoints( 
   java.util.ArrayList<LeadPoint> leadPoint 
); 
public: 
property array<LeadPoint>^ ReferenceImagePoints { 
   array<LeadPoint>^ get(); 
   void set (    array<LeadPoint>^ ); 
} 
ReferenceImagePoints # get and set (AlignImagesCommand) 

Property Value

Array of feature points in the reference image to be used for the registration process.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
 
public void AlignImagesCommandExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   //Load an image 
   RasterImage ReferenceImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg")); 
 
   //Rotate the image to be registered 
   RasterImage TemplateImage = new RasterImage(ReferenceImage); 
   RotateCommand command = new RotateCommand(45 * 100, RotateCommandFlags.Bicubic, new RasterColor(0, 0, 0)); 
   command.Run(TemplateImage); 
 
   //Get feature points from the two images that correspond to each other. 
   LeadPoint[] templatePoints = new LeadPoint[2]; 
   LeadPoint[] referencePoints = new LeadPoint[2]; 
 
   referencePoints[0] = new LeadPoint(173, 102); 
   referencePoints[1] = new LeadPoint(216, 259); 
 
   templatePoints[0] = new LeadPoint(239, 66); 
   templatePoints[1] = new LeadPoint(158, 207); 
 
   //Prepare the command 
   AlignImagesCommand alignCommand = new AlignImagesCommand(); 
 
   alignCommand.TemplateImage = TemplateImage; 
   alignCommand.ReferenceImagePoints = referencePoints; 
   alignCommand.TemplateImagePoints = templatePoints; 
   alignCommand.RegistrationMethod = RegistrationOptions.Unknown; 
 
   //Apply 
   alignCommand.Run(ReferenceImage); 
 
   // Save the resulting image 
   codecs.Save(alignCommand.RegisteredImage, Path.Combine(LEAD_VARS.ImagesDir, "RegisteredImage.bmp"), RasterImageFormat.Bmp, 24); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.IOException; 
import java.util.ArrayList; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.RotateCommand; 
import leadtools.imageprocessing.RotateCommandFlags; 
import leadtools.imageprocessing.core.*; 
 
 
public void alignImagesCommandExample() { 
 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.setThrowExceptionsOnInvalidImages(true); 
 
   // Load an image 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   RasterImage referenceImage = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "cannon.jpg")); 
 
   // Rotate the image to be registered 
   RasterImage templateImage = new RasterImage(referenceImage); 
   RotateCommand command = new RotateCommand(45 * 100, RotateCommandFlags.BICUBIC.getValue(), 
         new RasterColor(0, 0, 0)); 
   command.run(templateImage); 
 
   // Get feature points from the two images that correspond to each other 
   ArrayList<LeadPoint> templatePoints = new ArrayList<LeadPoint>(); 
   ArrayList<LeadPoint> referencePoints = new ArrayList<LeadPoint>(); 
 
   referencePoints.add(new LeadPoint(173, 102)); 
   referencePoints.add(new LeadPoint(216, 259)); 
 
   templatePoints.add(new LeadPoint(239, 66)); 
   templatePoints.add(new LeadPoint(158, 207)); 
 
   // Prepare the command 
   AlignImagesCommand alignCommand = new AlignImagesCommand(); 
 
   alignCommand.setTemplateImage(templateImage); 
   alignCommand.setReferenceImagePoints(referencePoints); 
   alignCommand.setTemplateImagePoints(templatePoints); 
   alignCommand.setRegistrationMethod(RegistrationOptions.UNKNOWN); 
   assertTrue( 
         alignCommand.getReferenceImagePoints() == referencePoints 
               && alignCommand.getTemplateImagePoints() == templatePoints 
               && alignCommand.getRegistrationMethod() == RegistrationOptions.UNKNOWN); 
 
   // Apply 
   alignCommand.run(referenceImage); 
 
   // Save the resulting image 
   codecs.save(alignCommand.getRegisteredImage(), combine(LEAD_VARS_IMAGES_DIR, "RegisteredImage.bmp"), 
         RasterImageFormat.BMP, 24); 
 
   assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "RegisteredImage.bmp")).exists()); 
   System.out.println("Command run and image saved to " + combine(LEAD_VARS_IMAGES_DIR, "RegisteredImage.bmp")); 
 
} 
Requirements

Target Platforms

Help Version 23.0.2024.3.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Core Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.