public class ApplyTransformationParametersCommand : RasterCommand @interface LTApplyTransformationParametersCommand : LTRasterCommand public class ApplyTransformationParametersCommandextends RasterCommand
public ref class ApplyTransformationParametersCommand : public RasterCommand class ApplyTransformationParametersCommand(RasterCommand): This command is available in the Document/Medical Toolkits.
For more information, refer to Detecting Registration Marks.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Core;public void GetTransformationParametersExample(){// Load an imageRasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "RGSRef.cmp"));// Prepare the commandSearchRegistrationMarksCommandData[] rmData = new SearchRegistrationMarksCommandData[3];//Mark1rmData[0] = new SearchRegistrationMarksCommandData();rmData[0].Rectangle = new LeadRect(680, 20, 941 - 680, 218 - 20);rmData[0].MarkDetectedPoints = new LeadPoint[1];rmData[0].Width = 31;rmData[0].Height = 29;rmData[0].Type = RegistrationMarkCommandType.TShape;rmData[0].MinimumScale = 90;rmData[0].MaximumScale = 110;rmData[0].SearchMarkCount = 1;//Mark2rmData[1] = new SearchRegistrationMarksCommandData();rmData[1].Rectangle = new LeadRect(665, 790, 899 - 665, 961 - 790);rmData[1].MarkDetectedPoints = new LeadPoint[1];rmData[1].Width = 31;rmData[1].Height = 29;rmData[1].Type = RegistrationMarkCommandType.TShape;rmData[1].MinimumScale = 90;rmData[1].MaximumScale = 110;rmData[1].SearchMarkCount = 1;//Mark3rmData[2] = new SearchRegistrationMarksCommandData();rmData[2].Rectangle = new LeadRect(7, 1073, 298 - 7, 1246 - 1073);rmData[2].MarkDetectedPoints = new LeadPoint[1];rmData[2].Width = 31;rmData[2].Height = 29;rmData[2].Type = RegistrationMarkCommandType.TShape;rmData[2].MinimumScale = 90;rmData[2].MaximumScale = 110;rmData[2].SearchMarkCount = 1;SearchRegistrationMarksCommand command1 = new SearchRegistrationMarksCommand(rmData);command1.Run(image);if ((rmData[2].MarkDetectedCount != 1) || (rmData[1].MarkDetectedCount != 1) || (rmData[0].MarkDetectedCount != 1))return;LeadPoint[] original ={new LeadPoint(81400, 11300),new LeadPoint(78600, 87400),new LeadPoint(14300, 115400)};LeadPoint[] detected ={rmData[0].MarkDetectedPoints[0],rmData[1].MarkDetectedPoints[0],rmData[2].MarkDetectedPoints[0]};//Find center of mass for detected registration marks in the transformed imageLeadPoint[] transformed = CoreUtilities.GetRegistrationMarksCenterMass(image, detected);//Find transformation parametersTransformationParameters parameters = CoreUtilities.GetTransformationParameters(image, original, transformed);//Apply transformation parameters to correct the imageApplyTransformationParametersCommand applyCommand = new ApplyTransformationParametersCommand(parameters.XTranslation, parameters.YTranslation, parameters.Angle, parameters.XScale, parameters.YScale,ApplyTransformationParametersCommandFlags.Normal);applyCommand.Run(image);}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}
ApplyTransformationParametersCommand Members
Leadtools.ImageProcessing.Core Namespace
Leadtools.ImageProcessing.Effects.CombineCommand
Leadtools.ImageProcessing.RotateCommand
Leadtools.ImageProcessing.SizeCommand
Leadtools.ImageProcessing.ResizeCommand
GetTransformationParameters Method
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
