←Select platform

CorrelationListCommand Class

Summary
Compares the images in a list with all the areas of the same dimensions in an image and finds those portions that match according to the measure of correlation. This method is only available in the Document/Medical toolkits.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class CorrelationListCommand : RasterCommand 
@interface LTCorrelationListCommand : LTRasterCommand 
public class CorrelationListCommand 
    extends RasterCommand 
public ref class CorrelationListCommand : public RasterCommand   
class CorrelationListCommand(RasterCommand): 
Remarks
  • This method compares the images in a list with all the areas of the same dimensions in image and finds those areas that match according to the measure of correlation.
  • All the list images must have the same dimensions. The dimensions must be less than or equal to the image dimensions.
  • Correlation is a measure of association (resemblance) between two images. It varies from 0 (zero resemblance) to 100 (perfect resemblance).
  • This method updates the Points parameter with the point of origin for those areas of the image where the resemblance with an image in the list is greater than the value of Threshold. It also updates ListIndex with the index of that image.
  • For example:

    1. Select images of the objects for which you want to look and put them in a list For example:
      corlist-a.gif
      corlist-d.gif
    2. Select an image that contains the objects for which you are searching. For example:

      corlist-org.gif
    3. Set XStep = 1, YStep = 1 and Threshold = 90 then run the command

    4. Points array will be updated with the point of origin (top-left) for each area of the image where the correlation with an image in the list is greater than the correlation Threshold. The height and width of the rectangles are the same as for list images.
    5. The result
      corlist-res.gif
  • This method supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.

  • If the image has a region, this method works only on the region. If the image does not have a region, this method works on the entire image.
  • This method does not support signed data images.
  • This command does not support 32-bit grayscale images.
Example

Run the CorrelationListCommand on an image.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
 
public void CorrelationListCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "clean.tif")); 
 
   CorrelationListCommand command = new CorrelationListCommand(); 
   CopyRectangleCommand copyRectangle = new CopyRectangleCommand(); 
 
   LeadRect rc_cor = new LeadRect(458, 591, 21, 28); 
   copyRectangle.Rectangle = rc_cor; 
   copyRectangle.Run(image); 
   command.CorrelationImage = copyRectangle.DestinationImage.Clone(); 
 
   rc_cor = new LeadRect(507, 591, 21, 28); 
   copyRectangle.Rectangle = rc_cor; 
   copyRectangle.Run(image); 
   command.CorrelationImage.AddPage(copyRectangle.DestinationImage.Clone()); 
 
   command.Points = new LeadPoint[30]; 
   command.ListIndex = new int[30]; 
   command.Threshold = 90; 
   command.XStep = 1; 
   command.YStep = 1; 
   command.Run(image); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.IOException; 
 
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.CopyRectangleCommand; 
import leadtools.imageprocessing.core.CorrelationListCommand; 
 
 
public void correlationListCommandExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   final String outputFileName = combine(LEAD_VARS_IMAGES_DIR, "cleanResult.tif"); 
 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.setThrowExceptionsOnInvalidImages(true); 
 
   RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "clean.tif")); 
 
   CorrelationListCommand command = new CorrelationListCommand(); 
   CopyRectangleCommand copyRectangle = new CopyRectangleCommand(); 
 
   LeadRect rc_cor = new LeadRect(458, 592, 21, 28); 
   copyRectangle.setRectangle(rc_cor); 
   copyRectangle.run(image); 
   command.setCorrelationImage(copyRectangle.getDestinationImage().clone()); 
 
   rc_cor = new LeadRect(507, 591, 21, 28); 
   copyRectangle.setRectangle(rc_cor); 
   copyRectangle.run(image); 
   command.getCorrelationImage().addPage(copyRectangle.getDestinationImage().clone()); 
 
   command.setPoints(new LeadPoint[30]); 
   command.setListIndex(new int[30]); 
   command.setThreshold(90); 
   command.setXStep(1); 
   command.setYStep(1); 
   command.run(image); 
   codecs.save(image, outputFileName, RasterImageFormat.JPEG, 0); 
 
   assertTrue(new File(outputFileName).exists()); 
   System.out.println("File saved to: " + outputFileName); 
} 
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.