public enum RegistrationOptions
typedef NS_OPTIONS(NSUInteger, LTRegistrationOptions)
public final class RegistrationOptions
extends java.lang.Enum<RegistrationOptions>
public enum class RegistrationOptions
class RegistrationOptions(Enum):
Unknown = 0
XY = 1
RSXY = 2
Affine6 = 3
Perspective = 4
Value | Member | Description |
---|---|---|
0 | Unknown | Unknown transformation type. The transformation algorithm will be selected automatically. |
1 | XY | ( 0x00000001)Perform XY translation using one pair of corresponding points during registration. |
2 | RSXY | Perform rotational, scaling and XY transformations using two pairs of corresponding points during registration. |
3 | Affine6 | Perform rotational, scaling, shearing, and XY transformations using three pairs of corresponding points during registration. |
4 | Perspective | Perform perspective transformation using four pairs of corresponding points during registration. |
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:\LEADTOOLS22\Resources\Images";
}
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