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)
Array of feature points in the reference image to be used for the registration process.
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"));
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document