19016 lines
903 KiB
XML
19016 lines
903 KiB
XML
<?xml version="1.0"?>
|
||
<doc>
|
||
<assembly>
|
||
<name>AForge.Imaging</name>
|
||
</assembly>
|
||
<members>
|
||
<member name="T:AForge.Imaging.ICornersDetector">
|
||
<summary>
|
||
Corners detector's interface.
|
||
</summary>
|
||
|
||
<remarks><para>The interface specifies set of methods, which should be implemented by different
|
||
corners detection algorithms.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ICornersDetector.ProcessImage(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Process image looking for corners.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
|
||
<returns>Returns list of found corners (X-Y coordinates).</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ICornersDetector.ProcessImage(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Process image looking for corners.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to process.</param>
|
||
|
||
<returns>Returns list of found corners (X-Y coordinates).</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ICornersDetector.ProcessImage(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process image looking for corners.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged source image to process.</param>
|
||
|
||
<returns>Returns list of found corners (X-Y coordinates).</returns>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Shrink">
|
||
<summary>
|
||
Shrink an image by removing specified color from its boundaries.
|
||
</summary>
|
||
|
||
<remarks><para>Removes pixels with specified color from image boundaries making
|
||
the image smaller in size.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Shrink filter = new Shrink( Color.Black );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample2.jpg" width="320" height="240" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/shrink.jpg" width="295" height="226" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BaseTransformationFilter">
|
||
<summary>
|
||
Base class for filters, which may produce new image of different size as a
|
||
result of image processing.
|
||
</summary>
|
||
|
||
<remarks><para>The abstract class is the base class for all filters, which
|
||
do image processing creating new image of the size, which may differ from the
|
||
size of source image. Filters based on this class cannot be applied directly
|
||
to the source image, which is kept unchanged.</para>
|
||
|
||
<para>The base class itself does not define supported pixel formats of source
|
||
image and resulting pixel formats of destination image. Filters inheriting from
|
||
this base class, should specify supported pixel formats and their transformations
|
||
overriding abstract <see cref="P:AForge.Imaging.Filters.BaseTransformationFilter.FormatTranslations"/> property.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.IFilter">
|
||
<summary>
|
||
Image processing filter interface.
|
||
</summary>
|
||
|
||
<remarks>The interface defines the set of methods, which should be
|
||
provided by all image processing filters. Methods of this interface
|
||
keep the source image unchanged and returt the result of image processing
|
||
filter as new image.</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.IInPlaceFilter"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.IInPlacePartialFilter"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IFilter.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IFilter.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The filter accepts bitmap data as input and returns the result
|
||
of image processing filter as new image. The source image data are kept
|
||
unchanged.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IFilter.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Image in unmanaged memory.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IFilter.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image to be processed.</param>
|
||
<param name="destinationImage">Destination image to store filter's result.</param>
|
||
|
||
<remarks><para>The method keeps the source image unchanged and puts the
|
||
the result of image processing filter into destination image.</para>
|
||
|
||
<para><note>The destination image must have the size, which is expected by
|
||
the filter.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">In the case if destination image has incorrect
|
||
size.</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.IFilterInformation">
|
||
<summary>
|
||
Interface which provides information about image processing filter.
|
||
</summary>
|
||
|
||
<remarks><para>The interface defines set of properties, which provide different type
|
||
of information about image processing filters implementing <see cref="T:AForge.Imaging.Filters.IFilter"/> interface
|
||
or another filter's interface.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>The dictionary defines, which pixel formats are supported for
|
||
source images and which pixel format will be used for resulting image.
|
||
</para>
|
||
|
||
<para>Keys of this dictionary defines all pixel formats which are supported for source
|
||
images, but corresponding values define what will be resulting pixel format. For
|
||
example, if value <see cref="T:System.Drawing.Imaging.PixelFormat">Format16bppGrayScale</see>
|
||
is put into the dictionary with the
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format48bppRgb</see> key, then it means
|
||
that the filter accepts color 48 bpp image and produces 16 bpp grayscale image as a result
|
||
of image processing.</para>
|
||
|
||
<para>The information provided by this property is mostly actual for filters, which can not
|
||
be applied directly to the source image, but provide new image a result. Since usually all
|
||
filters implement <see cref="T:AForge.Imaging.Filters.IFilter"/> interface, the information provided by this property
|
||
(if filter also implements <see cref="T:AForge.Imaging.Filters.IFilterInformation"/> interface) may be useful to
|
||
user to resolve filter's capabilities.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// get filter's IFilterInformation interface
|
||
IFilterInformation info = (IFilterInformation) filter;
|
||
// check if the filter supports our image's format
|
||
if ( info.FormatTranslations.ContainsKey( image.PixelFormat )
|
||
{
|
||
// format is supported, check what will be result of image processing
|
||
PixelFormat resultingFormat = info.FormatTranslations[image.PixelFormat];
|
||
}
|
||
/// </code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseTransformationFilter.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseTransformationFilter.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The filter accepts bitmap data as input and returns the result
|
||
of image processing filter as new image. The source image data are kept
|
||
unchanged.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseTransformationFilter.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Source image in unmanaged memory to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseTransformationFilter.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image in unmanaged memory to apply filter to.</param>
|
||
<param name="destinationImage">Destination image in unmanaged memory to put result into.</param>
|
||
|
||
<remarks><para>The method keeps the source image unchanged and puts result of image processing
|
||
into destination image.</para>
|
||
|
||
<para><note>The destination image must have the same width and height as source image. Also
|
||
destination image must have pixel format, which is expected by particular filter (see
|
||
<see cref="P:AForge.Imaging.Filters.BaseTransformationFilter.FormatTranslations"/> property for information about pixel format conversions).</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Incorrect destination pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Destination image has wrong width and/or height.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseTransformationFilter.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseTransformationFilter.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseTransformationFilter.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>The dictionary defines, which pixel formats are supported for
|
||
source images and which pixel format will be used for resulting image.
|
||
</para>
|
||
|
||
<para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Shrink.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Shrink"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Shrink.#ctor(System.Drawing.Color)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Shrink"/> class.
|
||
</summary>
|
||
|
||
<param name="colorToRemove">Color to remove from boundaries.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Shrink.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Shrink.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Shrink.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Shrink.ColorToRemove">
|
||
<summary>
|
||
Color to remove from boundaries.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.RotateNearestNeighbor">
|
||
<summary>
|
||
Rotate image using nearest neighbor algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements image rotation filter using nearest
|
||
neighbor algorithm, which does not assume any interpolation.</para>
|
||
|
||
<para><note>Rotation is performed in counterclockwise direction.</note></para>
|
||
|
||
<para>The filter accepts 8/16 bpp grayscale images and 24/48 bpp color image
|
||
for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter - rotate for 30 degrees keeping original image size
|
||
RotateNearestNeighbor filter = new RotateNearestNeighbor( 30, true );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample9.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/rotate_nearest.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.RotateBilinear"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.RotateBicubic"/>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BaseRotateFilter">
|
||
<summary>
|
||
Base class for image rotation filters.
|
||
</summary>
|
||
|
||
<remarks>The abstract class is the base class for all filters,
|
||
which implement rotating algorithms.</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.BaseRotateFilter.angle">
|
||
<summary>
|
||
Rotation angle.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.BaseRotateFilter.keepSize">
|
||
<summary>
|
||
Keep image size or not.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.BaseRotateFilter.fillColor">
|
||
<summary>
|
||
Fill color.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseRotateFilter.#ctor(System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BaseRotateFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="angle">Rotation angle.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.BaseRotateFilter.KeepSize"/> property to <b>false</b>.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseRotateFilter.#ctor(System.Double,System.Boolean)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BaseRotateFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="angle">Rotation angle.</param>
|
||
<param name="keepSize">Keep image size or not.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseRotateFilter.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseRotateFilter.Angle">
|
||
<summary>
|
||
Rotation angle, [0, 360].
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseRotateFilter.KeepSize">
|
||
<summary>
|
||
Keep image size or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property determines if source image's size will be kept
|
||
as it is or not. If the value is set to <b>false</b>, then the new image will have
|
||
new dimension according to rotation angle. If the valus is set to
|
||
<b>true</b>, then the new image will have the same size, which means that some parts
|
||
of the image may be clipped because of rotation.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseRotateFilter.FillColor">
|
||
<summary>
|
||
Fill color.
|
||
</summary>
|
||
|
||
<remarks><para>The fill color is used to fill areas of destination image,
|
||
which don't have corresponsing pixels in source image.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateNearestNeighbor.#ctor(System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.RotateNearestNeighbor"/> class.
|
||
</summary>
|
||
|
||
<param name="angle">Rotation angle.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.BaseRotateFilter.KeepSize"/> property to
|
||
<see langword="false"/>.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateNearestNeighbor.#ctor(System.Double,System.Boolean)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.RotateNearestNeighbor"/> class.
|
||
</summary>
|
||
|
||
<param name="angle">Rotation angle.</param>
|
||
<param name="keepSize">Keep image size or not.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateNearestNeighbor.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.RotateNearestNeighbor.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ConservativeSmoothing">
|
||
<summary>
|
||
Conservative smoothing.
|
||
</summary>
|
||
|
||
<remarks><para>The filter implements conservative smoothing, which is a noise reduction
|
||
technique that derives its name from the fact that it employs a simple, fast filtering
|
||
algorithm that sacrifices noise suppression power in order to preserve the high spatial
|
||
frequency detail (e.g. sharp edges) in an image. It is explicitly designed to remove noise
|
||
spikes - <b>isolated</b> pixels of exceptionally low or high pixel intensity
|
||
(<see cref="T:AForge.Imaging.Filters.SaltAndPepperNoise">salt and pepper noise</see>).</para>
|
||
|
||
<para>If the filter finds a pixel which has minimum/maximum value compared to its surrounding
|
||
pixel, then its value is replaced by minimum/maximum value of those surrounding pixel.
|
||
For example, lets suppose the filter uses <see cref="P:AForge.Imaging.Filters.ConservativeSmoothing.KernelSize">kernel size</see> of 3x3,
|
||
which means each pixel has 8 surrounding pixel. If pixel's value is smaller than any value
|
||
of surrounding pixels, then the value of the pixel is replaced by minimum value of those surrounding
|
||
pixels.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ConservativeSmoothing filter = new ConservativeSmoothing( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample13.png" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/conservative_smoothing.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BaseUsingCopyPartialFilter">
|
||
<summary>
|
||
Base class for filters, which require source image backup to make them applicable to
|
||
source image (or its part) directly.
|
||
</summary>
|
||
|
||
<remarks><para>The base class is used for filters, which can not do
|
||
direct manipulations with source image. To make effect of in-place filtering,
|
||
these filters create a background copy of the original image (done by this
|
||
base class) and then do manipulations with it putting result back to the original
|
||
source image.</para>
|
||
|
||
<para><note>The background copy of the source image is created only in the case of in-place
|
||
filtering. Otherwise background copy is not created - source image is processed and result is
|
||
put to destination image.</note></para>
|
||
|
||
<para>The base class is for those filters, which support as filtering entire image, as
|
||
partial filtering of specified rectangle only.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.IInPlaceFilter">
|
||
<summary>
|
||
In-place filter interface.
|
||
</summary>
|
||
|
||
<remarks>The interface defines the set of methods, which should be
|
||
implemented by filters, which are capable to do image processing
|
||
directly on the source image. Not all image processing filters
|
||
can be applied directly to the source image - only filters, which do not
|
||
change image's dimension and pixel format, can be applied directly to the
|
||
source image.</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.IFilter"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.IInPlacePartialFilter"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IInPlaceFilter.ApplyInPlace(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
|
||
<remarks>The method applies filter directly to the provided image data.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IInPlaceFilter.ApplyInPlace(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Image to apply filter to.</param>
|
||
|
||
<remarks>The method applies filter directly to the provided image data.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IInPlaceFilter.ApplyInPlace(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Image in unmanaged memory.</param>
|
||
|
||
<remarks>The method applies filter directly to the provided image data.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.IInPlacePartialFilter">
|
||
<summary>
|
||
In-place partial filter interface.
|
||
</summary>
|
||
|
||
<remarks><para>The interface defines the set of methods, which should be
|
||
implemented by filters, which are capable to do image processing
|
||
directly on the source image. Not all image processing filters
|
||
can be applied directly to the source image - only filters, which do not
|
||
change image dimension and pixel format, can be applied directly to the
|
||
source image.</para>
|
||
|
||
<para>The interface also supports partial image filtering, allowing to specify
|
||
image rectangle, which should be filtered.</para>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.IFilter"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.IInPlaceFilter"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IInPlacePartialFilter.ApplyInPlace(System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image or its part.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by filter.</param>
|
||
|
||
<remarks>The method applies filter directly to the provided image data.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IInPlacePartialFilter.ApplyInPlace(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image or its part.
|
||
</summary>
|
||
|
||
<param name="imageData">Image to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by filter.</param>
|
||
|
||
<remarks>The method applies filter directly to the provided image data.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IInPlacePartialFilter.ApplyInPlace(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Image in unmanaged memory.</param>
|
||
<param name="rect">Image rectangle for processing by filter.</param>
|
||
|
||
<remarks>The method applies filter directly to the provided image.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The filter accepts bitmap data as input and returns the result
|
||
of image processing filter as new image. The source image data are kept
|
||
unchanged.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Source image in unmanaged memory to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image in unmanaged memory to apply filter to.</param>
|
||
<param name="destinationImage">Destination image in unmanaged memory to put result into.</param>
|
||
|
||
<remarks><para>The method keeps the source image unchanged and puts result of image processing
|
||
into destination image.</para>
|
||
|
||
<para><note>The destination image must have the same width and height as source image. Also
|
||
destination image must have pixel format, which is expected by particular filter (see
|
||
<see cref="P:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.FormatTranslations"/> property for information about pixel format conversions).</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Incorrect destination pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Destination image has wrong width and/or height.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.ApplyInPlace(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.ApplyInPlace(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.ApplyInPlace(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an unmanaged image.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source unmanaged image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.ApplyInPlace(System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image or its part.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.ApplyInPlace(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image or its part.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.ApplyInPlace(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an unmanaged image or its part.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseUsingCopyPartialFilter.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>The dictionary defines, which pixel formats are supported for
|
||
source images and which pixel format will be used for resulting image.
|
||
</para>
|
||
|
||
<para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ConservativeSmoothing.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ConservativeSmoothing"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ConservativeSmoothing.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ConservativeSmoothing"/> class.
|
||
</summary>
|
||
|
||
<param name="size">Kernel size.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ConservativeSmoothing.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConservativeSmoothing.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConservativeSmoothing.KernelSize">
|
||
<summary>
|
||
Kernel size, [3, 25].
|
||
</summary>
|
||
|
||
<remarks><para>Determines the size of pixel's square used for smoothing.</para>
|
||
|
||
<para>Default value is set to <b>3</b>.</para>
|
||
|
||
<para><note>The value should be odd.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.RotateChannels">
|
||
<summary>
|
||
Rotate RGB channels.
|
||
</summary>
|
||
|
||
<remarks><para>The filter rotates RGB channels: red channel is replaced with green,
|
||
green channel is replaced with blue, blue channel is replaced with red.</para>
|
||
|
||
<para>The filter accepts 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
RotateChannels filter = new RotateChannels( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/rotate_channels.jpg" width="480" height="361" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BaseInPlacePartialFilter">
|
||
<summary>
|
||
Base class for filters, which may be applied directly to the source image or its part.
|
||
</summary>
|
||
|
||
<remarks><para>The abstract class is the base class for all filters, which can
|
||
be applied to an image producing new image as a result of image processing or
|
||
applied directly to the source image (or its part) without changing its size and
|
||
pixel format.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The filter accepts bitmap data as input and returns the result
|
||
of image processing filter as new image. The source image data are kept
|
||
unchanged.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Source image in unmanaged memory to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image in unmanaged memory to apply filter to.</param>
|
||
<param name="destinationImage">Destination image in unmanaged memory to put result into.</param>
|
||
|
||
<remarks><para>The method keeps the source image unchanged and puts result of image processing
|
||
into destination image.</para>
|
||
|
||
<para><note>The destination image must have the same width and height as source image. Also
|
||
destination image must have pixel format, which is expected by particular filter (see
|
||
<see cref="P:AForge.Imaging.Filters.BaseInPlacePartialFilter.FormatTranslations"/> property for information about pixel format conversions).</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Incorrect destination pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Destination image has wrong width and/or height.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.ApplyInPlace(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.ApplyInPlace(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.ApplyInPlace(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an unmanaged image.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source unmanaged image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.ApplyInPlace(System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image or its part.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.ApplyInPlace(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image or its part.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.ApplyInPlace(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an unmanaged image or its part.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlacePartialFilter.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseInPlacePartialFilter.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>The dictionary defines, which pixel formats are supported for
|
||
source images and which pixel format will be used for resulting image.
|
||
</para>
|
||
|
||
<para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateChannels.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.RotateChannels"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateChannels.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.RotateChannels.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.GammaCorrection">
|
||
<summary>
|
||
Gamma correction filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs <a href="http://en.wikipedia.org/wiki/Gamma_correction">gamma correction</a>
|
||
of specified image in RGB color space. Each pixels' value is converted using the V<sub>out</sub>=V<sub>in</sub><sup>g</sup>
|
||
equation, where <b>g</b> is <see cref="P:AForge.Imaging.Filters.GammaCorrection.Gamma">gamma value</see>.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
GammaCorrection filter = new GammaCorrection( 0.5 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/gamma.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GammaCorrection.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GammaCorrection"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GammaCorrection.#ctor(System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GammaCorrection"/> class.
|
||
</summary>
|
||
|
||
<param name="gamma">Gamma value.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GammaCorrection.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.GammaCorrection.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.GammaCorrection.Gamma">
|
||
<summary>
|
||
Gamma value, [0.1, 5.0].
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <b>2.2</b>.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BrightnessCorrection">
|
||
<summary>
|
||
Brightness adjusting in RGB color space.
|
||
</summary>
|
||
|
||
<remarks><para>The filter operates in <b>RGB</b> color space and adjusts
|
||
pixels' brightness by increasing every pixel's RGB values by the specified
|
||
<see cref="P:AForge.Imaging.Filters.BrightnessCorrection.AdjustValue">adjust value</see>. The filter is based on <see cref="T:AForge.Imaging.Filters.LevelsLinear"/>
|
||
filter and simply sets all input ranges to (0, 255-<see cref="P:AForge.Imaging.Filters.BrightnessCorrection.AdjustValue"/>) and
|
||
all output range to (<see cref="P:AForge.Imaging.Filters.BrightnessCorrection.AdjustValue"/>, 255) in the case if the adjust value is positive.
|
||
If the adjust value is negative, then all input ranges are set to
|
||
(-<see cref="P:AForge.Imaging.Filters.BrightnessCorrection.AdjustValue"/>, 255 ) and all output ranges are set to
|
||
( 0, 255+<see cref="P:AForge.Imaging.Filters.BrightnessCorrection.AdjustValue"/>).</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.LevelsLinear"/> documentation for more information about the base filter.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
BrightnessCorrection filter = new BrightnessCorrection( -50 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/brightness_correction.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.LevelsLinear"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BrightnessCorrection.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BrightnessCorrection"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BrightnessCorrection.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BrightnessCorrection"/> class.
|
||
</summary>
|
||
|
||
<param name="adjustValue">Brightness <see cref="P:AForge.Imaging.Filters.BrightnessCorrection.AdjustValue">adjust value</see>.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BrightnessCorrection.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BrightnessCorrection.AdjustValue">
|
||
<summary>
|
||
Brightness adjust value, [-255, 255].
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <b>10</b>, which corresponds to increasing
|
||
RGB values of each pixel by 10.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BrightnessCorrection.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.StuckiDithering">
|
||
<summary>
|
||
Dithering using Stucki error diffusion.
|
||
</summary>
|
||
|
||
<remarks><para>The filter represents binarization filter, which is based on
|
||
error diffusion dithering with Stucki coefficients. Error is diffused
|
||
on 12 neighbor pixels with next coefficients:</para>
|
||
<code lang="none">
|
||
| * | 8 | 4 |
|
||
| 2 | 4 | 8 | 4 | 2 |
|
||
| 1 | 2 | 4 | 2 | 1 |
|
||
|
||
/ 42
|
||
</code>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
StuckiDithering filter = new StuckiDithering( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/grayscale.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/stucki.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.BurkesDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.FloydSteinbergDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.JarvisJudiceNinkeDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.SierraDithering"/>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ErrorDiffusionToAdjacentNeighbors">
|
||
<summary>
|
||
Base class for error diffusion dithering, where error is diffused to
|
||
adjacent neighbor pixels.
|
||
</summary>
|
||
|
||
<remarks><para>The class does error diffusion to adjacent neighbor pixels
|
||
using specified set of coefficients. These coefficients are represented by
|
||
2 dimensional jugged array, where first array of coefficients is for
|
||
right-standing pixels, but the rest of arrays are for bottom-standing pixels.
|
||
All arrays except the first one should have odd number of coefficients.</para>
|
||
|
||
<para>Suppose that error diffusion coefficients are represented by the next
|
||
jugged array:</para>
|
||
|
||
<code>
|
||
int[][] coefficients = new int[2][] {
|
||
new int[1] { 7 },
|
||
new int[3] { 3, 5, 1 }
|
||
};
|
||
</code>
|
||
|
||
<para>The above coefficients are used to diffuse error over the next neighbor
|
||
pixels (<b>*</b> marks current pixel, coefficients are placed to corresponding
|
||
neighbor pixels):</para>
|
||
<code lang="none">
|
||
| * | 7 |
|
||
| 3 | 5 | 1 |
|
||
|
||
/ 16
|
||
</code>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ErrorDiffusionToAdjacentNeighbors filter = new ErrorDiffusionToAdjacentNeighbors(
|
||
new int[3][] {
|
||
new int[2] { 5, 3 },
|
||
new int[5] { 2, 4, 5, 4, 2 },
|
||
new int[3] { 2, 3, 2 }
|
||
} );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ErrorDiffusionDithering">
|
||
<summary>
|
||
Base class for error diffusion dithering.
|
||
</summary>
|
||
|
||
<remarks><para>The class is the base class for binarization algorithms based on
|
||
<a href="http://en.wikipedia.org/wiki/Error_diffusion">error diffusion</a>.</para>
|
||
|
||
<para>Binarization with error diffusion in its idea is similar to binarization based on thresholding
|
||
of pixels' cumulative value (see <see cref="T:AForge.Imaging.Filters.ThresholdWithCarry"/>). Each pixel is binarized based not only
|
||
on its own value, but on values of some surrounding pixels. During pixel's binarization, its <b>binarization
|
||
error</b> is distributed (diffused) to some neighbor pixels with some coefficients. This error diffusion
|
||
updates neighbor pixels changing their values, what affects their upcoming binarization. Error diffuses
|
||
only on unprocessed yet neighbor pixels, which are right and bottom pixels usually (in the case if image
|
||
processing is done from upper left corner to bottom right corner). <b>Binarization error</b> equals
|
||
to processing pixel value, if it is below threshold value, or pixel value minus 255 otherwise.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.ErrorDiffusionDithering.x">
|
||
<summary>
|
||
Current processing X coordinate.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.ErrorDiffusionDithering.y">
|
||
<summary>
|
||
Current processing Y coordinate.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.ErrorDiffusionDithering.startX">
|
||
<summary>
|
||
Processing X start position.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.ErrorDiffusionDithering.startY">
|
||
<summary>
|
||
Processing Y start position.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.ErrorDiffusionDithering.stopX">
|
||
<summary>
|
||
Processing X stop position.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.ErrorDiffusionDithering.stopY">
|
||
<summary>
|
||
Processing Y stop position.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.ErrorDiffusionDithering.stride">
|
||
<summary>
|
||
Processing image's stride (line size).
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ErrorDiffusionDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ErrorDiffusionDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ErrorDiffusionDithering.Diffuse(System.Int32,System.Byte*)">
|
||
<summary>
|
||
Do error diffusion.
|
||
</summary>
|
||
|
||
<param name="error">Current error value.</param>
|
||
<param name="ptr">Pointer to current processing pixel.</param>
|
||
|
||
<remarks>All parameters of the image and current processing pixel's coordinates
|
||
are initialized in protected members.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ErrorDiffusionDithering.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ErrorDiffusionDithering.ThresholdValue">
|
||
<summary>
|
||
Threshold value.
|
||
</summary>
|
||
|
||
<remarks>Default value is 128.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ErrorDiffusionDithering.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ErrorDiffusionToAdjacentNeighbors.#ctor(System.Int32[][])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ErrorDiffusionToAdjacentNeighbors"/> class.
|
||
</summary>
|
||
|
||
<param name="coefficients">Diffusion coefficients.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ErrorDiffusionToAdjacentNeighbors.Diffuse(System.Int32,System.Byte*)">
|
||
<summary>
|
||
Do error diffusion.
|
||
</summary>
|
||
|
||
<param name="error">Current error value.</param>
|
||
<param name="ptr">Pointer to current processing pixel.</param>
|
||
|
||
<remarks>All parameters of the image and current processing pixel's coordinates
|
||
are initialized by base class.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ErrorDiffusionToAdjacentNeighbors.Coefficients">
|
||
<summary>
|
||
Diffusion coefficients.
|
||
</summary>
|
||
|
||
<remarks>Set of coefficients, which are used for error diffusion to
|
||
pixel's neighbors.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.StuckiDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.StuckiDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Interpolation">
|
||
<summary>
|
||
Interpolation routines.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Interpolation.BiCubicKernel(System.Double)">
|
||
<summary>
|
||
Bicubic kernel.
|
||
</summary>
|
||
|
||
<param name="x">X value.</param>
|
||
|
||
<returns>Bicubic cooefficient.</returns>
|
||
|
||
<remarks><para>The function implements bicubic kernel W(x) as described on
|
||
<a href="http://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm">Wikipedia</a>
|
||
(coefficient <b>a</b> is set to <b>-0.5</b>).</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BinaryErosion3x3">
|
||
<summary>
|
||
Binary erosion operator from Mathematical Morphology with 3x3 structuring element.
|
||
</summary>
|
||
|
||
<remarks><para>The filter represents an optimized version of <see cref="T:AForge.Imaging.Filters.Erosion"/>
|
||
filter, which is aimed for binary images (containing black and white pixels) processed
|
||
with 3x3 structuring element. This makes this filter ideal for removing noise in binary
|
||
images – it removes all white pixels, which are neighbouring with at least one blank pixel.
|
||
</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.Erosion"/> filter, which represents generic version of
|
||
erosion filter supporting custom structuring elements and wider range of image formats.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale (binary) images for processing.</para>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Erosion"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BinaryErosion3x3.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BinaryErosion3x3"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BinaryErosion3x3.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Processing rectangle mast be at least 3x3 in size.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BinaryErosion3x3.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.FilterIterator">
|
||
<summary>
|
||
Filter iterator.
|
||
</summary>
|
||
|
||
<remarks><para>Filter iterator performs specified amount of filter's iterations.
|
||
The filter take the specified <see cref="P:AForge.Imaging.Filters.FilterIterator.BaseFilter">base filter</see> and applies it
|
||
to source image <see cref="P:AForge.Imaging.Filters.FilterIterator.Iterations">specified amount of times</see>.</para>
|
||
|
||
<para><note>The filter itself does not have any restrictions to pixel format of source
|
||
image. This is set by <see cref="P:AForge.Imaging.Filters.FilterIterator.BaseFilter">base filter</see>.</note></para>
|
||
|
||
<para><note>The filter does image processing using only <see cref="T:AForge.Imaging.Filters.IFilter"/>
|
||
interface of the specified <see cref="P:AForge.Imaging.Filters.FilterIterator.BaseFilter">base filter</see>. This means
|
||
that this filter may not utilize all potential features of the base filter, like
|
||
in-place processing (see <see cref="T:AForge.Imaging.Filters.IInPlaceFilter"/>) and region based processing
|
||
(see <see cref="T:AForge.Imaging.Filters.IInPlacePartialFilter"/>). To utilize those features, it is required to
|
||
do filter's iteration manually.</note></para>
|
||
|
||
<para>Sample usage (morphological thinning):</para>
|
||
<code>
|
||
// create filter sequence
|
||
FiltersSequence filterSequence = new FiltersSequence( );
|
||
// add 8 thinning filters with different structuring elements
|
||
filterSequence.Add( new HitAndMiss(
|
||
new short [,] { { 0, 0, 0 }, { -1, 1, -1 }, { 1, 1, 1 } },
|
||
HitAndMiss.Modes.Thinning ) );
|
||
filterSequence.Add( new HitAndMiss(
|
||
new short [,] { { -1, 0, 0 }, { 1, 1, 0 }, { -1, 1, -1 } },
|
||
HitAndMiss.Modes.Thinning ) );
|
||
filterSequence.Add( new HitAndMiss(
|
||
new short [,] { { 1, -1, 0 }, { 1, 1, 0 }, { 1, -1, 0 } },
|
||
HitAndMiss.Modes.Thinning ) );
|
||
filterSequence.Add( new HitAndMiss(
|
||
new short [,] { { -1, 1, -1 }, { 1, 1, 0 }, { -1, 0, 0 } },
|
||
HitAndMiss.Modes.Thinning ) );
|
||
filterSequence.Add( new HitAndMiss(
|
||
new short [,] { { 1, 1, 1 }, { -1, 1, -1 }, { 0, 0, 0 } },
|
||
HitAndMiss.Modes.Thinning ) );
|
||
filterSequence.Add( new HitAndMiss(
|
||
new short [,] { { -1, 1, -1 }, { 0, 1, 1 }, { 0, 0, -1 } },
|
||
HitAndMiss.Modes.Thinning ) );
|
||
filterSequence.Add( new HitAndMiss(
|
||
new short [,] { { 0, -1, 1 }, { 0, 1, 1 }, { 0, -1, 1 } },
|
||
HitAndMiss.Modes.Thinning ) );
|
||
filterSequence.Add( new HitAndMiss(
|
||
new short [,] { { 0, 0, -1 }, { 0, 1, 1 }, { -1, 1, -1 } },
|
||
HitAndMiss.Modes.Thinning ) );
|
||
// create filter iterator for 10 iterations
|
||
FilterIterator filter = new FilterIterator( filterSequence, 10 );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample14.png" width="150" height="150"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/thinning.png" width="150" height="150"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FilterIterator.#ctor(AForge.Imaging.Filters.IFilter)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.FilterIterator"/> class.
|
||
</summary>
|
||
|
||
<param name="baseFilter">Filter to iterate.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FilterIterator.#ctor(AForge.Imaging.Filters.IFilter,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.FilterIterator"/> class.
|
||
</summary>
|
||
|
||
<param name="baseFilter">Filter to iterate.</param>
|
||
<param name="iterations">Iterations amount.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FilterIterator.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FilterIterator.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The filter accepts bitmap data as input and returns the result
|
||
of image processing filter as new image. The source image data are kept
|
||
unchanged.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FilterIterator.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Source image in unmanaged memory to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FilterIterator.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image in unmanaged memory to apply filter to.</param>
|
||
<param name="destinationImage">Destination image in unmanaged memory to put result into.</param>
|
||
|
||
<remarks><para>The method keeps the source image unchanged and puts result of image processing
|
||
into destination image.</para>
|
||
|
||
<para><note>The destination image must have the same width and height as source image. Also
|
||
destination image must have pixel format, which is expected by particular filter (see
|
||
<see cref="P:AForge.Imaging.Filters.FilterIterator.FormatTranslations"/> property for information about pixel format conversions).</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FilterIterator.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para>
|
||
|
||
<para><note>The filter provides format translation dictionary taken from
|
||
<see cref="P:AForge.Imaging.Filters.FilterIterator.BaseFilter"/> filter.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FilterIterator.BaseFilter">
|
||
<summary>
|
||
Base filter.
|
||
</summary>
|
||
|
||
<remarks><para>The base filter is the filter to be applied specified amount of iterations to
|
||
a specified image.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FilterIterator.Iterations">
|
||
<summary>
|
||
Iterations amount, [1, 255].
|
||
</summary>
|
||
|
||
<remarks><para>The amount of times to apply specified filter to a specified image.</para>
|
||
|
||
<para>Default value is set to <b>1</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Threshold">
|
||
<summary>
|
||
Threshold binarization.
|
||
</summary>
|
||
|
||
<remarks><para>The filter does image binarization using specified threshold value. All pixels
|
||
with intensities equal or higher than threshold value are converted to white pixels. All other
|
||
pixels with intensities below threshold value are converted to black pixels.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images for processing.</para>
|
||
|
||
<para><note>Since the filter can be applied as to 8 bpp and to 16 bpp images,
|
||
the <see cref="P:AForge.Imaging.Filters.Threshold.ThresholdValue"/> value should be set appropriately to the pixel format.
|
||
In the case of 8 bpp images the threshold value is in the [0, 255] range, but in the case
|
||
of 16 bpp images the threshold value is in the [0, 65535] range.</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Threshold filter = new Threshold( 100 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/grayscale.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/threshold.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.Threshold.threshold">
|
||
<summary>
|
||
Threshold value.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Threshold.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Threshold"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Threshold.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Threshold"/> class.
|
||
</summary>
|
||
|
||
<param name="threshold">Threshold value.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Threshold.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Threshold.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Threshold.ThresholdValue">
|
||
<summary>
|
||
Threshold value.
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <b>128</b>.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BaseInPlaceFilter">
|
||
<summary>
|
||
Base class for filters, which may be applied directly to the source image.
|
||
</summary>
|
||
|
||
<remarks><para>The abstract class is the base class for all filters, which can
|
||
be applied to an image producing new image as a result of image processing or
|
||
applied directly to the source image without changing its size and pixel format.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The filter accepts bitmap data as input and returns the result
|
||
of image processing filter as new image. The source image data are kept
|
||
unchanged.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Source image in unmanaged memory to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image in unmanaged memory to apply filter to.</param>
|
||
<param name="destinationImage">Destination image in unmanaged memory to put result into.</param>
|
||
|
||
<remarks><para>The method keeps the source image unchanged and puts result of image processing
|
||
into destination image.</para>
|
||
|
||
<para><note>The destination image must have the same width and height as source image. Also
|
||
destination image must have pixel format, which is expected by particular filter (see
|
||
<see cref="P:AForge.Imaging.Filters.BaseInPlaceFilter.FormatTranslations"/> property for information about pixel format conversions).</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Incorrect destination pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Destination image has wrong width and/or height.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter.ApplyInPlace(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter.ApplyInPlace(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter.ApplyInPlace(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an unmanaged image.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source unmanaged image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseInPlaceFilter.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>The dictionary defines, which pixel formats are supported for
|
||
source images and which pixel format will be used for resulting image.
|
||
</para>
|
||
|
||
<para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Add">
|
||
<summary>
|
||
Add fillter - add pixel values of two images.
|
||
</summary>
|
||
|
||
<remarks><para>The add filter takes two images (source and overlay images)
|
||
of the same size and pixel format and produces an image, where each pixel equals
|
||
to the sum value of corresponding pixels from provided images (if sum is greater
|
||
than maximum allowed value, 255 or 65535, then it is truncated to that maximum).</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24, 32, 48 and 64 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Add filter = new Add( overlayImage );
|
||
// apply the filter
|
||
Bitmap resultImage = filter.Apply( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample6.png" width="320" height="240"/>
|
||
<para><b>Overlay image:</b></para>
|
||
<img src="img/imaging/sample7.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/add.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Merge"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Intersect"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Subtract"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Difference"/>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BaseInPlaceFilter2">
|
||
<summary>
|
||
Base class for filters, which operate with two images of the same size and format and
|
||
may be applied directly to the source image.
|
||
</summary>
|
||
|
||
<remarks><para>The abstract class is the base class for all filters, which can
|
||
be applied to an image producing new image as a result of image processing or
|
||
applied directly to the source image without changing its size and pixel format.</para>
|
||
|
||
<para>The base class is aimed for such type of filters, which require additional image
|
||
to process the source image. The additional image is set by <see cref="P:AForge.Imaging.Filters.BaseInPlaceFilter2.OverlayImage"/>
|
||
or <see cref="P:AForge.Imaging.Filters.BaseInPlaceFilter2.UnmanagedOverlayImage"/> property and must have the same size and pixel format
|
||
as source image. See documentation of particular inherited class for information
|
||
about overlay image purpose.
|
||
</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter2.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BaseInPlaceFilter2"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter2.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BaseInPlaceFilter2"/> class.
|
||
</summary>
|
||
|
||
<param name="overlayImage">Overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter2.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BaseInPlaceFilter2"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedOverlayImage">Unmanaged overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter2.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Source and overlay images have different pixel formats and/or size.</exception>
|
||
<exception cref="T:System.NullReferenceException">Overlay image is not set.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseInPlaceFilter2.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
|
||
<remarks><para>Overlay image size and pixel format is checked by this base class, before
|
||
passing execution to inherited class.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseInPlaceFilter2.OverlayImage">
|
||
<summary>
|
||
Overlay image.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The property sets an overlay image, which will be used as the second image required
|
||
to process source image. See documentation of particular inherited class for information
|
||
about overlay image purpose.
|
||
</para>
|
||
|
||
<para><note>Overlay image must have the same size and pixel format as source image.
|
||
Otherwise exception will be generated when filter is applied to source image.</note></para>
|
||
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.BaseInPlaceFilter2.UnmanagedOverlayImage"/> property -
|
||
only one overlay image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseInPlaceFilter2.UnmanagedOverlayImage">
|
||
<summary>
|
||
Unmanaged overlay image.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The property sets an overlay image, which will be used as the second image required
|
||
to process source image. See documentation of particular inherited class for information
|
||
about overlay image purpose.
|
||
</para>
|
||
|
||
<para><note>Overlay image must have the same size and pixel format as source image.
|
||
Otherwise exception will be generated when filter is applied to source image.</note></para>
|
||
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.BaseInPlaceFilter2.OverlayImage"/> property -
|
||
only one overlay image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Add.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Add"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Add.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Add"/> class.
|
||
</summary>
|
||
|
||
<param name="overlayImage">Overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Add.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Add"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedOverlayImage">Unmanaged overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Add.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Add.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.StuckiColorDithering">
|
||
<summary>
|
||
Color dithering using Stucki error diffusion.
|
||
</summary>
|
||
|
||
<remarks><para>The image processing routine represents color dithering algorithm, which is based on
|
||
error diffusion dithering with Stucki coefficients. Error is diffused
|
||
on 12 neighbor pixels with next coefficients:</para>
|
||
<code lang="none">
|
||
| * | 8 | 4 |
|
||
| 2 | 4 | 8 | 4 | 2 |
|
||
| 1 | 2 | 4 | 2 | 1 |
|
||
|
||
/ 42
|
||
</code>
|
||
|
||
<para>The image processing routine accepts 24/32 bpp color images for processing. As a result this routine
|
||
produces 4 bpp or 8 bpp indexed image, which depends on size of the specified
|
||
<see cref="P:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.ColorTable">color table</see> - 4 bpp result for
|
||
color tables with 16 colors or less; 8 bpp result for larger color tables.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create color image quantization routine
|
||
ColorImageQuantizer ciq = new ColorImageQuantizer( new MedianCutQuantizer( ) );
|
||
// create 64 colors table
|
||
Color[] colorTable = ciq.CalculatePalette( image, 64 );
|
||
// create dithering routine
|
||
StuckiColorDithering dithering = new StuckiColorDithering( );
|
||
dithering.ColorTable = colorTable;
|
||
// apply the dithering routine
|
||
Bitmap newImage = dithering.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/color_stucki.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.BurkesColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.FloydSteinbergColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.JarvisJudiceNinkeColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.SierraColorDithering"/>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.ColorErrorDiffusionToAdjacentNeighbors">
|
||
<summary>
|
||
Base class for error diffusion color dithering, where error is diffused to
|
||
adjacent neighbor pixels.
|
||
</summary>
|
||
|
||
<remarks><para>The class does error diffusion to adjacent neighbor pixels
|
||
using specified set of coefficients. These coefficients are represented by
|
||
2 dimensional jugged array, where first array of coefficients is for
|
||
right-standing pixels, but the rest of arrays are for bottom-standing pixels.
|
||
All arrays except the first one should have odd number of coefficients.</para>
|
||
|
||
<para>Suppose that error diffusion coefficients are represented by the next
|
||
jugged array:</para>
|
||
|
||
<code>
|
||
int[][] coefficients = new int[2][] {
|
||
new int[1] { 7 },
|
||
new int[3] { 3, 5, 1 }
|
||
};
|
||
</code>
|
||
|
||
<para>The above coefficients are used to diffuse error over the next neighbor
|
||
pixels (<b>*</b> marks current pixel, coefficients are placed to corresponding
|
||
neighbor pixels):</para>
|
||
<code lang="none">
|
||
| * | 7 |
|
||
| 3 | 5 | 1 |
|
||
|
||
/ 16
|
||
</code>
|
||
|
||
<para>The image processing routine accepts 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create dithering routine
|
||
ColorErrorDiffusionToAdjacentNeighbors dithering = new ColorErrorDiffusionToAdjacentNeighbors(
|
||
new int[3][] {
|
||
new int[2] { 5, 3 },
|
||
new int[5] { 2, 4, 5, 4, 2 },
|
||
new int[3] { 2, 3, 2 }
|
||
} );
|
||
// apply the dithering routine
|
||
Bitmap newImage = dithering.Apply( image );
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering">
|
||
<summary>
|
||
Base class for error diffusion color dithering.
|
||
</summary>
|
||
|
||
<remarks><para>The class is the base class for color dithering algorithms based on
|
||
<a href="http://en.wikipedia.org/wiki/Error_diffusion">error diffusion</a>.</para>
|
||
|
||
<para>Color dithering with error diffusion is based on the idea that each pixel from the specified source
|
||
image is substituted with a best matching color (or better say with color's index) from the specified color
|
||
table. However, the error (difference between color value in the source image and the best matching color)
|
||
is diffused to neighbor pixels of the source image, which affects the way those pixels are substituted by colors
|
||
from the specified table.</para>
|
||
|
||
<para>The image processing routine accepts 24/32 bpp color images for processing. As a result this routine
|
||
produces 4 bpp or 8 bpp indexed image, which depends on size of the specified <see cref="P:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.ColorTable">color table</see> - 4 bpp result for
|
||
color tables with 16 colors or less; 8 bpp result for larger color tables.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.x">
|
||
<summary>
|
||
Current processing X coordinate.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.y">
|
||
<summary>
|
||
Current processing Y coordinate.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.width">
|
||
<summary>
|
||
Processing image's width.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.height">
|
||
<summary>
|
||
Processing image's height.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.stride">
|
||
<summary>
|
||
Processing image's stride (line size).
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.pixelSize">
|
||
<summary>
|
||
Processing image's pixel size in bytes.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.Diffuse(System.Int32,System.Int32,System.Int32,System.Byte*)">
|
||
<summary>
|
||
Do error diffusion.
|
||
</summary>
|
||
|
||
<param name="rError">Error value of red component.</param>
|
||
<param name="gError">Error value of green component.</param>
|
||
<param name="bError">Error value of blue component.</param>
|
||
<param name="ptr">Pointer to current processing pixel.</param>
|
||
|
||
<remarks>All parameters of the image and current processing pixel's coordinates
|
||
are initialized in protected members.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Perform color dithering for the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image to do color dithering for.</param>
|
||
|
||
<returns>Returns color dithered image. See <see cref="P:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.ColorTable"/> for information about format of
|
||
the result image.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image. It must 24 or 32 bpp color image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Perform color dithering for the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image to do color dithering for.</param>
|
||
|
||
<returns>Returns color dithered image. See <see cref="P:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.ColorTable"/> for information about format of
|
||
the result image.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image. It must 24 or 32 bpp color image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.ColorTable">
|
||
<summary>
|
||
Color table to use for image dithering. Must contain 2-256 colors.
|
||
</summary>
|
||
|
||
<remarks><para>Color table size determines format of the resulting image produced by this
|
||
image processing routine. If color table contains 16 color or less, then result image will have
|
||
4 bpp indexed pixel format. If color table contains more than 16 colors, then result image will
|
||
have 8 bpp indexed pixel format.</para>
|
||
|
||
<para>By default the property is initialized with default 16 colors, which are:
|
||
Black, Dark Blue, Dark Green, Dark Cyan, Dark Red, Dark Magenta, Dark Khaki, Light Gray,
|
||
Gray, Blue, Green, Cyan, Red, Magenta, Yellow and White.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Color table length must be in the [2, 256] range.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.UseCaching">
|
||
<summary>
|
||
Use color caching during color dithering or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if internal cache of already processed colors should be used or not.
|
||
For each pixel in the original image the color dithering routine does search in target color palette to find
|
||
the best matching color. To avoid doing the search again and again for already processed colors, the class may
|
||
use internal dictionary which maps colors of original image to indexes in target color palette.
|
||
</para>
|
||
|
||
<para><note>The property provides a trade off. On one hand it may speedup color dithering routine, but on another
|
||
hand it increases memory usage. Also cache usage may not be efficient for very small target color tables.</note></para>
|
||
|
||
<para>Default value is set to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ColorErrorDiffusionToAdjacentNeighbors.#ctor(System.Int32[][])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ColorReduction.ColorErrorDiffusionToAdjacentNeighbors"/> class.
|
||
</summary>
|
||
|
||
<param name="coefficients">Diffusion coefficients (see <see cref="T:AForge.Imaging.ColorReduction.ColorErrorDiffusionToAdjacentNeighbors"/>
|
||
for more information).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ColorErrorDiffusionToAdjacentNeighbors.Diffuse(System.Int32,System.Int32,System.Int32,System.Byte*)">
|
||
<summary>
|
||
Do error diffusion.
|
||
</summary>
|
||
|
||
<param name="rError">Error value of red component.</param>
|
||
<param name="gError">Error value of green component.</param>
|
||
<param name="bError">Error value of blue component.</param>
|
||
<param name="ptr">Pointer to current processing pixel.</param>
|
||
|
||
<remarks>All parameters of the image and current processing pixel's coordinates
|
||
are initialized by base class.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ColorReduction.ColorErrorDiffusionToAdjacentNeighbors.Coefficients">
|
||
<summary>
|
||
Diffusion coefficients.
|
||
</summary>
|
||
|
||
<remarks>Set of coefficients, which are used for error diffusion to
|
||
pixel's neighbors.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.StuckiColorDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ColorReduction.StuckiColorDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.IColorQuantizer">
|
||
<summary>
|
||
Interface which is implemented by different color quantization algorithms.
|
||
</summary>
|
||
|
||
<remarks><para>The interface defines set of methods, which are to be implemented by different
|
||
color quantization algorithms - algorithms which are aimed to provide reduced color table/palette
|
||
for a color image.</para>
|
||
|
||
<para>See documentation to particular implementation of the interface for additional information
|
||
about the algorithm.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.IColorQuantizer.AddColor(System.Drawing.Color)">
|
||
<summary>
|
||
Process color by a color quantization algorithm.
|
||
</summary>
|
||
|
||
<param name="color">Color to process.</param>
|
||
|
||
<remarks><para>Depending on particular implementation of <see cref="T:AForge.Imaging.ColorReduction.IColorQuantizer"/> interface,
|
||
this method may simply process the specified color or store it in internal list for
|
||
later color palette calculation.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.IColorQuantizer.GetPalette(System.Int32)">
|
||
<summary>
|
||
Get palette of the specified size.
|
||
</summary>
|
||
|
||
<param name="colorCount">Palette size to return.</param>
|
||
|
||
<returns>Returns reduced color palette for the accumulated/processed colors.</returns>
|
||
|
||
<remarks><para>The method must be called after continuously calling <see cref="M:AForge.Imaging.ColorReduction.IColorQuantizer.AddColor(System.Drawing.Color)"/> method and
|
||
returns reduced color palette for colors accumulated/processed so far.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.IColorQuantizer.Clear">
|
||
<summary>
|
||
Clear internals of the algorithm, like accumulated color table, etc.
|
||
</summary>
|
||
|
||
<remarks><para>The methods resets internal state of a color quantization algorithm returning
|
||
it to initial state.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.FloydSteinbergColorDithering">
|
||
<summary>
|
||
Color dithering using Floyd-Steinberg error diffusion.
|
||
</summary>
|
||
|
||
<remarks><para>The image processing routine represents color dithering algorithm, which is based on
|
||
error diffusion dithering with <a href="http://en.wikipedia.org/wiki/Floyd%E2%80%93Steinberg_dithering">Floyd-Steinberg</a>
|
||
coefficients. Error is diffused on 4 neighbor pixels with the next coefficients:</para>
|
||
|
||
<code lang="none">
|
||
| * | 7 |
|
||
| 3 | 5 | 1 |
|
||
|
||
/ 16
|
||
</code>
|
||
|
||
<para>The image processing routine accepts 24/32 bpp color images for processing. As a result this routine
|
||
produces 4 bpp or 8 bpp indexed image, which depends on size of the specified
|
||
<see cref="P:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.ColorTable">color table</see> - 4 bpp result for
|
||
color tables with 16 colors or less; 8 bpp result for larger color tables.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create color image quantization routine
|
||
ColorImageQuantizer ciq = new ColorImageQuantizer( new MedianCutQuantizer( ) );
|
||
// create 16 colors table
|
||
Color[] colorTable = ciq.CalculatePalette( image, 16 );
|
||
// create dithering routine
|
||
FloydSteinbergColorDithering dithering = new FloydSteinbergColorDithering( );
|
||
dithering.ColorTable = colorTable;
|
||
// apply the dithering routine
|
||
Bitmap newImage = dithering.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/color_floyd_steinberg.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.BurkesColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.JarvisJudiceNinkeColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.SierraColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.StuckiColorDithering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.FloydSteinbergColorDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ColorReduction.FloydSteinbergColorDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.TemplateMatch">
|
||
<summary>
|
||
Template match class keeps information about found template match. The class is
|
||
used with template matching algorithms implementing <see cref="T:AForge.Imaging.ITemplateMatching"/>
|
||
interface.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.TemplateMatch.#ctor(System.Drawing.Rectangle,System.Single)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.TemplateMatch"/> class.
|
||
</summary>
|
||
|
||
<param name="rect">Rectangle of the matching area.</param>
|
||
<param name="similarity">Similarity between template and found matching, [0..1].</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.TemplateMatch.Rectangle">
|
||
<summary>
|
||
Rectangle of the matching area.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.TemplateMatch.Similarity">
|
||
<summary>
|
||
Similarity between template and found matching, [0..1].
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.SusanCornersDetector">
|
||
<summary>
|
||
Susan corners detector.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements Susan corners detector, which is described by
|
||
S.M. Smith in: <b>S.M. Smith, "SUSAN - a new approach to low level image processing",
|
||
Internal Technical Report TR95SMS1, Defense Research Agency, Chobham Lane, Chertsey,
|
||
Surrey, UK, 1995</b>.</para>
|
||
|
||
<para><note>Some implementation notes:
|
||
<list type="bullet">
|
||
<item>Analyzing each pixel and searching for its USAN area, the 7x7 mask is used,
|
||
which is comprised of 37 pixels. The mask has circle shape:
|
||
<code lang="none">
|
||
xxx
|
||
xxxxx
|
||
xxxxxxx
|
||
xxxxxxx
|
||
xxxxxxx
|
||
xxxxx
|
||
xxx
|
||
</code>
|
||
</item>
|
||
<item>In the case if USAN's center of mass has the same coordinates as nucleus
|
||
(central point), the pixel is not a corner.</item>
|
||
<item>For noise suppression the 5x5 square window is used.</item></list></note></para>
|
||
|
||
<para>The class processes only grayscale 8 bpp and color 24/32 bpp images.
|
||
In the case of color image, it is converted to grayscale internally using
|
||
<see cref="T:AForge.Imaging.Filters.GrayscaleBT709"/> filter.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create corners detector's instance
|
||
SusanCornersDetector scd = new SusanCornersDetector( );
|
||
// process image searching for corners
|
||
List<IntPoint> corners = scd.ProcessImage( image );
|
||
// process points
|
||
foreach ( IntPoint corner in corners )
|
||
{
|
||
// ...
|
||
}
|
||
</code>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.MoravecCornersDetector"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.SusanCornersDetector.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.SusanCornersDetector"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.SusanCornersDetector.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.SusanCornersDetector"/> class.
|
||
</summary>
|
||
|
||
<param name="differenceThreshold">Brightness difference threshold.</param>
|
||
<param name="geometricalThreshold">Geometrical threshold.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.SusanCornersDetector.ProcessImage(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Process image looking for corners.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
|
||
<returns>Returns list of found corners (X-Y coordinates).</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.SusanCornersDetector.ProcessImage(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Process image looking for corners.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to process.</param>
|
||
|
||
<returns>Returns list of found corners (X-Y coordinates).</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.SusanCornersDetector.ProcessImage(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process image looking for corners.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged source image to process.</param>
|
||
|
||
<returns>Returns array of found corners (X-Y coordinates).</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.SusanCornersDetector.DifferenceThreshold">
|
||
<summary>
|
||
Brightness difference threshold.
|
||
</summary>
|
||
|
||
<remarks><para>The brightness difference threshold controls the amount
|
||
of pixels, which become part of USAN area. If difference between central
|
||
pixel (nucleus) and surrounding pixel is not higher than difference threshold,
|
||
then that pixel becomes part of USAN.</para>
|
||
|
||
<para>Increasing this value decreases the amount of detected corners.</para>
|
||
|
||
<para>Default value is set to <b>25</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.SusanCornersDetector.GeometricalThreshold">
|
||
<summary>
|
||
Geometrical threshold.
|
||
</summary>
|
||
|
||
<remarks><para>The geometrical threshold sets the maximum number of pixels
|
||
in USAN area around corner. If potential corner has USAN with more pixels, than
|
||
it is not a corner.</para>
|
||
|
||
<para> Decreasing this value decreases the amount of detected corners - only sharp corners
|
||
are detected. Increasing this value increases the amount of detected corners, but
|
||
also increases amount of flat corners, which may be not corners at all.</para>
|
||
|
||
<para>Default value is set to <b>18</b>, which is half of maximum amount of pixels in USAN.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.RotateBilinear">
|
||
<summary>
|
||
Rotate image using bilinear interpolation.
|
||
</summary>
|
||
|
||
<para><note>Rotation is performed in counterclockwise direction.</note></para>
|
||
|
||
<remarks><para>The class implements image rotation filter using bilinear
|
||
interpolation algorithm.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter - rotate for 30 degrees keeping original image size
|
||
RotateBilinear filter = new RotateBilinear( 30, true );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample9.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/rotate_bilinear.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.RotateNearestNeighbor"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.RotateBicubic"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateBilinear.#ctor(System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.RotateBilinear"/> class.
|
||
</summary>
|
||
|
||
<param name="angle">Rotation angle.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.BaseRotateFilter.KeepSize"/> property
|
||
to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateBilinear.#ctor(System.Double,System.Boolean)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.RotateBilinear"/> class.
|
||
</summary>
|
||
|
||
<param name="angle">Rotation angle.</param>
|
||
<param name="keepSize">Keep image size or not.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateBilinear.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.RotateBilinear.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.WaterWave">
|
||
<summary>
|
||
Simple water wave effect filter.
|
||
</summary>
|
||
|
||
<remarks><para>The image processing filter implements simple water wave effect. Using
|
||
properties of the class, it is possible to set number of vertical/horizontal waves,
|
||
as well as their amplitude.</para>
|
||
|
||
<para>Bilinear interpolation is used to create smooth effect.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
WaterWave filter = new WaterWave( );
|
||
filter.HorizontalWavesCount = 10;
|
||
filter.HorizontalWavesAmplitude = 5;
|
||
filter.VerticalWavesCount = 3;
|
||
filter.VerticalWavesAmplitude = 15;
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/water_wave.jpg" width="480" height="361" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BaseFilter">
|
||
<summary>
|
||
Base class for filters, which produce new image of the same size as a
|
||
result of image processing.
|
||
</summary>
|
||
|
||
<remarks><para>The abstract class is the base class for all filters, which
|
||
do image processing creating new image with the same size as source.
|
||
Filters based on this class cannot be applied directly to the source
|
||
image, which is kept unchanged.</para>
|
||
|
||
<para>The base class itself does not define supported pixel formats of source
|
||
image and resulting pixel formats of destination image. Filters inheriting from
|
||
this base class, should specify supported pixel formats and their transformations
|
||
overriding abstract <see cref="P:AForge.Imaging.Filters.BaseFilter.FormatTranslations"/> property.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseFilter.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseFilter.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The filter accepts bitmap data as input and returns the result
|
||
of image processing filter as new image. The source image data are kept
|
||
unchanged.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseFilter.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Source image in unmanaged memory to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseFilter.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image in unmanaged memory to apply filter to.</param>
|
||
<param name="destinationImage">Destination image in unmanaged memory to put result into.</param>
|
||
|
||
<remarks><para>The method keeps the source image unchanged and puts result of image processing
|
||
into destination image.</para>
|
||
|
||
<para><note>The destination image must have the same width and height as source image. Also
|
||
destination image must have pixel format, which is expected by particular filter (see
|
||
<see cref="P:AForge.Imaging.Filters.BaseFilter.FormatTranslations"/> property for information about pixel format conversions).</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Incorrect destination pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Destination image has wrong width and/or height.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseFilter.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseFilter.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>The dictionary defines, which pixel formats are supported for
|
||
source images and which pixel format will be used for resulting image.
|
||
</para>
|
||
|
||
<para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.WaterWave.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.WaterWave"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.WaterWave.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.WaterWave.HorizontalWavesCount">
|
||
<summary>
|
||
Number of horizontal waves, [1, 10000].
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <b>5</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.WaterWave.VerticalWavesCount">
|
||
<summary>
|
||
Number of vertical waves, [1, 10000].
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <b>5</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.WaterWave.HorizontalWavesAmplitude">
|
||
<summary>
|
||
Amplitude of horizontal waves measured in pixels, [0, 10000].
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <b>10</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.WaterWave.VerticalWavesAmplitude">
|
||
<summary>
|
||
Amplitude of vertical waves measured in pixels, [0, 10000].
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <b>10</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.WaterWave.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.CornersMarker">
|
||
<summary>
|
||
Filter to mark (highlight) corners of objects.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The filter highlights corners of objects on the image using provided corners
|
||
detection algorithm.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24/32 color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create corner detector's instance
|
||
SusanCornersDetector scd = new SusanCornersDetector( );
|
||
// create corner maker filter
|
||
CornersMarker filter = new CornersMarker( scd, Color.Red );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample2.jpg" width="320" height="240" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/susan_corners.png" width="320" height="240" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CornersMarker.#ctor(AForge.Imaging.ICornersDetector)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CornersMarker"/> class.
|
||
</summary>
|
||
|
||
<param name="detector">Interface of corners' detection algorithm.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CornersMarker.#ctor(AForge.Imaging.ICornersDetector,System.Drawing.Color)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CornersMarker"/> class.
|
||
</summary>
|
||
|
||
<param name="detector">Interface of corners' detection algorithm.</param>
|
||
<param name="markerColor">Marker's color used to mark corner.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CornersMarker.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CornersMarker.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CornersMarker.MarkerColor">
|
||
<summary>
|
||
Color used to mark corners.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CornersMarker.Detector">
|
||
<summary>
|
||
Interface of corners' detection algorithm used to detect corners.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.PointedMeanFloodFill">
|
||
<summary>
|
||
Flood filling with mean color starting from specified point.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs image's area filling (4 directional) starting
|
||
from the <see cref="P:AForge.Imaging.Filters.PointedMeanFloodFill.StartingPoint">specified point</see>. It fills
|
||
the area of the pointed color, but also fills other colors, which
|
||
are similar to the pointed within specified <see cref="P:AForge.Imaging.Filters.PointedMeanFloodFill.Tolerance">tolerance</see>.
|
||
The area is filled using its mean color.
|
||
</para>
|
||
|
||
<para>The filter is similar to <see cref="T:AForge.Imaging.Filters.PointedColorFloodFill"/> filter, but instead
|
||
of filling the are with specified color, it fills the area with its mean color. This means
|
||
that this is a two pass filter - first pass is to calculate the mean value and the second pass is to
|
||
fill the area. Unlike to <see cref="T:AForge.Imaging.Filters.PointedColorFloodFill"/> filter, this filter has nothing
|
||
to do in the case if zero <see cref="P:AForge.Imaging.Filters.PointedMeanFloodFill.Tolerance">tolerance</see> is specified.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
PointedMeanFloodFill filter = new PointedMeanFloodFill( );
|
||
// configre the filter
|
||
filter.Tolerance = Color.FromArgb( 150, 92, 92 );
|
||
filter.StartingPoint = new IntPoint( 150, 100 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/pointed_mean_fill.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.PointedColorFloodFill"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.PointedMeanFloodFill.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.PointedMeanFloodFill"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.PointedMeanFloodFill.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.PointedMeanFloodFill.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.PointedMeanFloodFill.Tolerance">
|
||
<summary>
|
||
Flood fill tolerance.
|
||
</summary>
|
||
|
||
<remarks><para>The tolerance value determines the level of similarity between
|
||
colors to fill and the pointed color. If the value is set to zero, then the
|
||
filter does nothing, since the filling area contains only one color and its
|
||
filling with mean is meaningless.</para>
|
||
|
||
<para>The tolerance value is specified as <see cref="T:System.Drawing.Color"/>,
|
||
where each component (R, G and B) represents tolerance for the corresponding
|
||
component of color. This allows to set different tolerances for red, green
|
||
and blue components.</para>
|
||
|
||
<para>Default value is set to <b>(16, 16, 16)</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.PointedMeanFloodFill.StartingPoint">
|
||
<summary>
|
||
Point to start filling from.
|
||
</summary>
|
||
|
||
<remarks><para>The property allows to set the starting point, where filling is
|
||
started from.</para>
|
||
|
||
<remarks>Default value is set to <b>(0, 0)</b>.</remarks>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ColorFiltering">
|
||
<summary>
|
||
Color filtering.
|
||
</summary>
|
||
|
||
<remarks><para>The filter filters pixels inside/outside of specified RGB color range -
|
||
it keeps pixels with colors inside/outside of specified range and fills the rest with
|
||
<see cref="P:AForge.Imaging.Filters.ColorFiltering.FillColor">specified color</see>.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ColorFiltering filter = new ColorFiltering( );
|
||
// set color ranges to keep
|
||
filter.Red = new IntRange( 100, 255 );
|
||
filter.Green = new IntRange( 0, 75 );
|
||
filter.Blue = new IntRange( 0, 75 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/color_filtering.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ChannelFiltering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.EuclideanColorFiltering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.HSLFiltering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.YCbCrFiltering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ColorFiltering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ColorFiltering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ColorFiltering.#ctor(AForge.IntRange,AForge.IntRange,AForge.IntRange)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ColorFiltering"/> class.
|
||
</summary>
|
||
|
||
<param name="red">Red components filtering range.</param>
|
||
<param name="green">Green components filtering range.</param>
|
||
<param name="blue">Blue components filtering range.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ColorFiltering.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorFiltering.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorFiltering.Red">
|
||
<summary>
|
||
Range of red color component.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorFiltering.Green">
|
||
<summary>
|
||
Range of green color component.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorFiltering.Blue">
|
||
<summary>
|
||
Range of blue color component.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorFiltering.FillColor">
|
||
<summary>
|
||
Fill color used to fill filtered pixels.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorFiltering.FillOutsideRange">
|
||
<summary>
|
||
Determines, if pixels should be filled inside or outside of specified
|
||
color ranges.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see langword="true"/>, which means
|
||
the filter removes colors outside of the specified range.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.JarvisJudiceNinkeColorDithering">
|
||
<summary>
|
||
Color dithering using Jarvis, Judice and Ninke error diffusion.
|
||
</summary>
|
||
|
||
<remarks><para>The image processing routine represents color dithering algorithm, which is based on
|
||
error diffusion dithering with Jarvis-Judice-Ninke coefficients. Error is diffused
|
||
on 12 neighbor pixels with next coefficients:</para>
|
||
<code lang="none">
|
||
| * | 7 | 5 |
|
||
| 3 | 5 | 7 | 5 | 3 |
|
||
| 1 | 3 | 5 | 3 | 1 |
|
||
|
||
/ 48
|
||
</code>
|
||
|
||
<para>The image processing routine accepts 24/32 bpp color images for processing. As a result this routine
|
||
produces 4 bpp or 8 bpp indexed image, which depends on size of the specified
|
||
<see cref="P:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.ColorTable">color table</see> - 4 bpp result for
|
||
color tables with 16 colors or less; 8 bpp result for larger color tables.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create color image quantization routine
|
||
ColorImageQuantizer ciq = new ColorImageQuantizer( new MedianCutQuantizer( ) );
|
||
// create 32 colors table
|
||
Color[] colorTable = ciq.CalculatePalette( image, 32 );
|
||
// create dithering routine
|
||
JarvisJudiceNinkeColorDithering dithering = new JarvisJudiceNinkeColorDithering( );
|
||
dithering.ColorTable = colorTable;
|
||
// apply the dithering routine
|
||
Bitmap newImage = dithering.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/color_jarvis_judice_ninke.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.BurkesColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.FloydSteinbergColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.SierraColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.StuckiColorDithering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.JarvisJudiceNinkeColorDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ColorReduction.JarvisJudiceNinkeColorDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.SimpleSkeletonization">
|
||
<summary>
|
||
Simple skeletonization filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter build simple objects' skeletons by thinning them until
|
||
they have one pixel wide "bones" horizontally and vertically. The filter uses
|
||
<see cref="P:AForge.Imaging.Filters.SimpleSkeletonization.Background"/> and <see cref="P:AForge.Imaging.Filters.SimpleSkeletonization.Foreground"/> colors to distinguish
|
||
between object and background.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
SimpleSkeletonization filter = new SimpleSkeletonization( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample14.png" width="150" height="150"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/simple_skeletonization.png" width="150" height="150"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimpleSkeletonization.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SimpleSkeletonization"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimpleSkeletonization.#ctor(System.Byte,System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SimpleSkeletonization"/> class.
|
||
</summary>
|
||
|
||
<param name="bg">Background pixel color.</param>
|
||
<param name="fg">Foreground pixel color.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimpleSkeletonization.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimpleSkeletonization.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimpleSkeletonization.Background">
|
||
<summary>
|
||
Background pixel color.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets background (none object) color to look for.</para>
|
||
|
||
<para>Default value is set to <b>0</b> - black.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimpleSkeletonization.Foreground">
|
||
<summary>
|
||
Foreground pixel color.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets objects' (none background) color to look for.</para>
|
||
|
||
<para>Default value is set to <b>255</b> - white.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ConnectedComponentsLabeling">
|
||
<summary>
|
||
Connected components labeling.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs labeling of objects in the source image. It colors
|
||
each separate object using different color. The image processing filter treats all none
|
||
black pixels as objects' pixels and all black pixel as background.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32 bpp color images and produces
|
||
24 bpp RGB image.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ConnectedComponentsLabeling filter = new ConnectedComponentsLabeling( );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
// check objects count
|
||
int objectCount = filter.ObjectCount;
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample2.jpg" width="320" height="240" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/labeling.jpg" width="320" height="240" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ConnectedComponentsLabeling.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ConnectedComponentsLabeling"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ConnectedComponentsLabeling.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.BlobCounter">
|
||
<summary>
|
||
Blob counter used to locate separate blobs.
|
||
</summary>
|
||
|
||
<remarks><para>The property allows to set blob counter to use for blobs' localization.</para>
|
||
|
||
<para>Default value is set to <see cref="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.BlobCounter"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.ColorTable">
|
||
<summary>
|
||
Colors used to color the binary image.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.FilterBlobs">
|
||
<summary>
|
||
Specifies if blobs should be filtered.
|
||
</summary>
|
||
|
||
<remarks><para>See documentation for <see cref="P:AForge.Imaging.BlobCounterBase.FilterBlobs"/> property
|
||
of <see cref="T:AForge.Imaging.BlobCounterBase"/> class for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.CoupledSizeFiltering">
|
||
<summary>
|
||
Specifies if size filetering should be coupled or not.
|
||
</summary>
|
||
|
||
<remarks><para>See documentation for <see cref="P:AForge.Imaging.BlobCounterBase.CoupledSizeFiltering"/> property
|
||
of <see cref="T:AForge.Imaging.BlobCounterBase"/> class for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.MinWidth">
|
||
<summary>
|
||
Minimum allowed width of blob.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.MinHeight">
|
||
<summary>
|
||
Minimum allowed height of blob.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.MaxWidth">
|
||
<summary>
|
||
Maximum allowed width of blob.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.MaxHeight">
|
||
<summary>
|
||
Maximum allowed height of blob.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ConnectedComponentsLabeling.ObjectCount">
|
||
<summary>
|
||
Objects count.
|
||
</summary>
|
||
|
||
<remarks>The amount of objects found in the last processed image.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Morph">
|
||
<summary>
|
||
Morph filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter combines two images by taking
|
||
<see cref="P:AForge.Imaging.Filters.Morph.SourcePercent">specified percent</see> of pixels' intensities from source
|
||
image and the rest from overlay image. For example, if the
|
||
<see cref="P:AForge.Imaging.Filters.Morph.SourcePercent">source percent</see> value is set to 0.8, then each pixel
|
||
of the result image equals to <b>0.8 * source + 0.2 * overlay</b>, where <b>source</b>
|
||
and <b>overlay</b> are corresponding pixels' values in source and overlay images.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Morph filter = new Morph( overlayImage );
|
||
filter.SourcePercent = 0.75;
|
||
// apply the filter
|
||
Bitmap resultImage = filter.Apply( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample6.png" width="320" height="240"/>
|
||
<para><b>Overlay image:</b></para>
|
||
<img src="img/imaging/sample7.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/morph.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Morph.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Morph"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Morph.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Morph"/> class.
|
||
</summary>
|
||
|
||
<param name="overlayImage">Overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Morph.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Morph"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedOverlayImage">Unmanaged overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Morph.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Morph.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Morph.SourcePercent">
|
||
<summary>
|
||
Percent of source image to keep, [0, 1].
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies the percentage of source pixels' to take. The
|
||
rest is taken from an overlay image.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ComplexFilters.FrequencyFilter">
|
||
<summary>
|
||
Filtering of frequencies outside of specified range in complex Fourier
|
||
transformed image.
|
||
</summary>
|
||
|
||
<remarks><para>The filer keeps only specified range of frequencies in complex
|
||
Fourier transformed image. The rest of frequencies are zeroed.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create complex image
|
||
ComplexImage complexImage = ComplexImage.FromBitmap( image );
|
||
// do forward Fourier transformation
|
||
complexImage.ForwardFourierTransform( );
|
||
// create filter
|
||
FrequencyFilter filter = new FrequencyFilter( new IntRange( 20, 128 ) );
|
||
// apply filter
|
||
filter.Apply( complexImage );
|
||
// do backward Fourier transformation
|
||
complexImage.BackwardFourierTransform( );
|
||
// get complex image as bitmat
|
||
Bitmap fourierImage = complexImage.ToBitmap( );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample3.jpg" width="256" height="256" />
|
||
<para><b>Fourier image:</b></para>
|
||
<img src="img/imaging/frequency_filter.jpg" width="256" height="256" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ComplexFilters.IComplexFilter">
|
||
<summary>
|
||
Image processing filter, which operates with Fourier transformed
|
||
complex image.
|
||
</summary>
|
||
|
||
<remarks>The interface defines the set of methods, which should be
|
||
provided by all image processing filter, which operate with Fourier
|
||
transformed complex image.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexFilters.IComplexFilter.Apply(AForge.Imaging.ComplexImage)">
|
||
<summary>
|
||
Apply filter to complex image.
|
||
</summary>
|
||
|
||
<param name="complexImage">Complex image to apply filter to.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexFilters.FrequencyFilter.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ComplexFilters.FrequencyFilter"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexFilters.FrequencyFilter.#ctor(AForge.IntRange)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ComplexFilters.FrequencyFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="frequencyRange">Range of frequencies to keep.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexFilters.FrequencyFilter.Apply(AForge.Imaging.ComplexImage)">
|
||
<summary>
|
||
Apply filter to complex image.
|
||
</summary>
|
||
|
||
<param name="complexImage">Complex image to apply filter to.</param>
|
||
|
||
<exception cref="T:System.ArgumentException">The source complex image should be Fourier transformed.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ComplexFilters.FrequencyFilter.FrequencyRange">
|
||
<summary>
|
||
Range of frequencies to keep.
|
||
</summary>
|
||
|
||
<remarks><para>The range specifies the range of frequencies to keep. Values is frequencies
|
||
outside of this range are zeroed.</para>
|
||
|
||
<para>Default value is set to <b>[0, 1024]</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ResizeBicubic">
|
||
<summary>
|
||
Resize image using bicubic interpolation algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements image resizing filter using bicubic
|
||
interpolation algorithm. It uses bicubic kernel W(x) as described on
|
||
<a href="http://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm">Wikipedia</a>
|
||
(coefficient <b>a</b> is set to <b>-0.5</b>).</para>
|
||
|
||
<para>The filter accepts 8 grayscale images and 24 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ResizeBicubic filter = new ResizeBicubic( 400, 300 );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample9.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/resize_bicubic.png" width="400" height="300"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ResizeNearestNeighbor"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.ResizeBilinear"/>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BaseResizeFilter">
|
||
<summary>
|
||
Base class for image resizing filters.
|
||
</summary>
|
||
|
||
<remarks><para>The abstract class is the base class for all filters,
|
||
which implement image rotation algorithms.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.BaseResizeFilter.newWidth">
|
||
<summary>
|
||
New image width.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.BaseResizeFilter.newHeight">
|
||
<summary>
|
||
New image height.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseResizeFilter.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BaseResizeFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="newWidth">Width of the new resized image.</param>
|
||
<param name="newHeight">Height of the new resize image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseResizeFilter.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseResizeFilter.NewWidth">
|
||
<summary>
|
||
Width of the new resized image.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseResizeFilter.NewHeight">
|
||
<summary>
|
||
Height of the new resized image.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ResizeBicubic.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ResizeBicubic"/> class.
|
||
</summary>
|
||
|
||
<param name="newWidth">Width of new image.</param>
|
||
<param name="newHeight">Height of new image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ResizeBicubic.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ResizeBicubic.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.QuadrilateralTransformation">
|
||
<summary>
|
||
Performs quadrilateral transformation of an area in a given source image.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements quadrilateral transformation algorithm,
|
||
which allows to transform any quadrilateral from a given source image
|
||
to a rectangular image. The idea of the algorithm is based on homogeneous
|
||
transformation and its math is described by Paul Heckbert in his
|
||
"<a href="http://graphics.cs.cmu.edu/courses/15-463/2008_fall/Papers/proj.pdf">Projective Mappings for Image Warping</a>" paper.
|
||
</para>
|
||
|
||
<para>The image processing filter accepts 8 grayscale images and 24/32 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// define quadrilateral's corners
|
||
List<IntPoint> corners = new List<IntPoint>( );
|
||
corners.Add( new IntPoint( 99, 99 ) );
|
||
corners.Add( new IntPoint( 156, 79 ) );
|
||
corners.Add( new IntPoint( 184, 126 ) );
|
||
corners.Add( new IntPoint( 122, 150 ) );
|
||
// create filter
|
||
QuadrilateralTransformation filter =
|
||
new QuadrilateralTransformation( corners, 200, 200 );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample18.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/quadrilateral_ex_bilinear.png" width="200" height="200"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.BackwardQuadrilateralTransformation"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.SimpleQuadrilateralTransformation"/>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.QuadrilateralTransformation.newWidth">
|
||
<summary>
|
||
New image width.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.QuadrilateralTransformation.newHeight">
|
||
<summary>
|
||
New image height.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformation.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.QuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformation.#ctor(System.Collections.Generic.List{AForge.IntPoint},System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.QuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceQuadrilateral">Corners of the source quadrilateral area.</param>
|
||
<param name="newWidth">Width of the new transformed image.</param>
|
||
<param name="newHeight">Height of the new transformed image.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformation.AutomaticSizeCalculaton"/> to
|
||
<see langword="false"/>, which means that destination image will have width and
|
||
height as specified by user.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformation.#ctor(System.Collections.Generic.List{AForge.IntPoint})">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.QuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceQuadrilateral">Corners of the source quadrilateral area.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformation.AutomaticSizeCalculaton"/> to
|
||
<see langword="true"/>, which means that destination image will have width and
|
||
height automatically calculated based on <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformation.SourceQuadrilateral"/> property.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformation.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
<exception cref="T:System.NullReferenceException">Source quadrilateral was not set.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformation.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformation.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformation.AutomaticSizeCalculaton">
|
||
<summary>
|
||
Automatic calculation of destination image or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies how to calculate size of destination (transformed)
|
||
image. If the property is set to <see langword="false"/>, then <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformation.NewWidth"/>
|
||
and <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformation.NewHeight"/> properties have effect and destination image's size is
|
||
specified by user. If the property is set to <see langword="true"/>, then setting the above
|
||
mentioned properties does not have any effect, but destionation image's size is
|
||
automatically calculated from <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformation.SourceQuadrilateral"/> property - width and height
|
||
come from length of longest edges.
|
||
</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformation.SourceQuadrilateral">
|
||
<summary>
|
||
Quadrilateral's corners in source image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies four corners of the quadrilateral area
|
||
in the source image to be transformed.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformation.NewWidth">
|
||
<summary>
|
||
Width of the new transformed image.
|
||
</summary>
|
||
|
||
<remarks><para>The property defines width of the destination image, which gets
|
||
transformed quadrilateral image.</para>
|
||
|
||
<para><note>Setting the property does not have any effect, if <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformation.AutomaticSizeCalculaton"/>
|
||
property is set to <see langword="true"/>. In this case destination image's width
|
||
is calculated automatically based on <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformation.SourceQuadrilateral"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformation.NewHeight">
|
||
<summary>
|
||
Height of the new transformed image.
|
||
</summary>
|
||
|
||
<remarks><para>The property defines height of the destination image, which gets
|
||
transformed quadrilateral image.</para>
|
||
|
||
<para><note>Setting the property does not have any effect, if <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformation.AutomaticSizeCalculaton"/>
|
||
property is set to <see langword="true"/>. In this case destination image's height
|
||
is calculated automatically based on <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformation.SourceQuadrilateral"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformation.UseInterpolation">
|
||
<summary>
|
||
Specifies if bilinear interpolation should be used or not.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see langword="true"/> - interpolation
|
||
is used.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.SaturationCorrection">
|
||
<summary>
|
||
Saturation adjusting in HSL color space.
|
||
</summary>
|
||
|
||
<remarks><para>The filter operates in <b>HSL</b> color space and adjusts
|
||
pixels' saturation value, increasing it or decreasing by specified percentage.
|
||
The filters is based on <see cref="T:AForge.Imaging.Filters.HSLLinear"/> filter, passing work to it after
|
||
recalculating saturation <see cref="P:AForge.Imaging.Filters.SaturationCorrection.AdjustValue">adjust value</see> to input/output
|
||
ranges of the <see cref="T:AForge.Imaging.Filters.HSLLinear"/> filter.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
SaturationCorrection filter = new SaturationCorrection( -0.5f );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/saturation_correction.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SaturationCorrection.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SaturationCorrection"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SaturationCorrection.#ctor(System.Single)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SaturationCorrection"/> class.
|
||
</summary>
|
||
|
||
<param name="adjustValue">Saturation adjust value.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SaturationCorrection.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SaturationCorrection.AdjustValue">
|
||
<summary>
|
||
Saturation adjust value, [-1, 1].
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <b>0.1</b>, which corresponds to increasing
|
||
saturation by 10%.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SaturationCorrection.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Convolution">
|
||
<summary>
|
||
Convolution filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter implements convolution operator, which calculates each pixel
|
||
of the result image as weighted sum of the correspond pixel and its neighbors in the source
|
||
image. The weights are set by <see cref="P:AForge.Imaging.Filters.Convolution.Kernel">convolution kernel</see>. The weighted
|
||
sum is divided by <see cref="P:AForge.Imaging.Filters.Convolution.Divisor"/> before putting it into result image and also
|
||
may be thresholded using <see cref="P:AForge.Imaging.Filters.Convolution.Threshold"/> value.</para>
|
||
|
||
<para>Convolution is a simple mathematical operation which is fundamental to many common
|
||
image processing filters. Depending on the type of provided kernel, the filter may produce
|
||
different results, like blur image, sharpen it, find edges, etc.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24, 32, 48 and 64 bpp
|
||
color images for processing. Note: depending on the value of <see cref="P:AForge.Imaging.Filters.Convolution.ProcessAlpha"/>
|
||
property, the alpha channel is either copied as is or processed with the kernel.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// define emboss kernel
|
||
int[,] kernel = {
|
||
{ -2, -1, 0 },
|
||
{ -1, 1, 1 },
|
||
{ 0, 1, 2 } };
|
||
// create filter
|
||
Convolution filter = new Convolution( kernel );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample5.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/emboss.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Convolution.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Convolution"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Convolution.#ctor(System.Int32[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Convolution"/> class.
|
||
</summary>
|
||
|
||
<param name="kernel">Convolution kernel.</param>
|
||
|
||
<remarks><para>Using this constructor (specifying only convolution kernel),
|
||
<see cref="P:AForge.Imaging.Filters.Convolution.Divisor">division factor</see> will be calculated automatically
|
||
summing all kernel values. In the case if kernel's sum equals to zero,
|
||
division factor will be assigned to 1.</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid kernel size is specified. Kernel must be
|
||
square, its width/height should be odd and should be in the [3, 25] range.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Convolution.#ctor(System.Int32[0:,0:],System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Convolution"/> class.
|
||
</summary>
|
||
|
||
<param name="kernel">Convolution kernel.</param>
|
||
<param name="divisor">Divisor, used used to divide weighted sum.</param>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid kernel size is specified. Kernel must be
|
||
square, its width/height should be odd and should be in the [3, 25] range.</exception>
|
||
<exception cref="T:System.ArgumentException">Divisor can not be equal to zero.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Convolution.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Convolution.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Convolution.Kernel">
|
||
<summary>
|
||
Convolution kernel.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para><note>Convolution kernel must be square and its width/height
|
||
should be odd and should be in the [3, 99] range.</note></para>
|
||
|
||
<para><note>Setting convolution kernel through this property does not
|
||
affect <see cref="P:AForge.Imaging.Filters.Convolution.Divisor"/> - it is not recalculated automatically.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid kernel size is specified.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Convolution.Divisor">
|
||
<summary>
|
||
Division factor.
|
||
</summary>
|
||
|
||
<remarks><para>The value is used to divide convolution - weighted sum
|
||
of pixels is divided by this value.</para>
|
||
|
||
<para><note>The value may be calculated automatically in the case if constructor
|
||
with one parameter is used (<see cref="M:AForge.Imaging.Filters.Convolution.#ctor(System.Int32[0:,0:])"/>).</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Divisor can not be equal to zero.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Convolution.Threshold">
|
||
<summary>
|
||
Threshold to add to weighted sum.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies threshold value, which is added to each weighted
|
||
sum of pixels. The value is added right after division was done by <see cref="P:AForge.Imaging.Filters.Convolution.Divisor"/>
|
||
value.</para>
|
||
|
||
<para>Default value is set to <b>0</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Convolution.DynamicDivisorForEdges">
|
||
<summary>
|
||
Use dynamic divisor for edges or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies how to handle edges. If it is set to
|
||
<see langword="false"/>, then the same divisor (which is specified by <see cref="P:AForge.Imaging.Filters.Convolution.Divisor"/>
|
||
property or calculated automatically) will be applied both for non-edge regions
|
||
and for edge regions. If the value is set to <see langword="true"/>, then dynamically
|
||
calculated divisor will be used for edge regions, which is sum of those kernel
|
||
elements, which are taken into account for particular processed pixel
|
||
(elements, which are not outside image).</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Convolution.ProcessAlpha">
|
||
<summary>
|
||
Specifies if alpha channel must be processed or just copied.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies the way how alpha channel is handled for 32 bpp
|
||
and 64 bpp images. If the property is set to <see langword="false"/>, then alpha
|
||
channel's values are just copied as is. If the property is set to <see langword="true"/>
|
||
then alpha channel is convolved using the specified kernel same way as RGB channels.</para>
|
||
|
||
<para>Default value is set to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.GrayscaleToRGB">
|
||
<summary>
|
||
Convert grayscale image to RGB.
|
||
</summary>
|
||
|
||
<remarks><para>The filter creates color image from specified grayscale image
|
||
initializing all RGB channels to the same value - pixel's intensity of grayscale image.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and produces
|
||
24 bpp RGB image.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
GrayscaleToRGB filter = new GrayscaleToRGB( );
|
||
// apply the filter
|
||
Bitmap rgbImage = filter.Apply( image );
|
||
</code>
|
||
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GrayscaleToRGB.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GrayscaleToRGB"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GrayscaleToRGB.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.GrayscaleToRGB.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BradleyLocalThresholding">
|
||
<summary>
|
||
Adaptive thresholding using the internal image.
|
||
</summary>
|
||
|
||
<remarks><para>The image processing routine implements local thresholding technique described
|
||
by Derek Bradley and Gerhard Roth in the "Adaptive Thresholding Using the Integral Image" paper.
|
||
</para>
|
||
|
||
<para>The brief idea of the algorithm is that every image's pixel is set to black if its brightness
|
||
is <i>t</i> percent lower (see <see cref="P:AForge.Imaging.Filters.BradleyLocalThresholding.PixelBrightnessDifferenceLimit"/>) than the average brightness
|
||
of surrounding pixels in the window of the specified size (see <see cref="P:AForge.Imaging.Filters.BradleyLocalThresholding.WindowSize"/>), othwerwise it is set
|
||
to white.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create the filter
|
||
BradleyLocalThresholding filter = new BradleyLocalThresholding( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample20.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/bradley_local_thresholding.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BradleyLocalThresholding.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BradleyLocalThresholding"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BradleyLocalThresholding.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BradleyLocalThresholding.WindowSize">
|
||
<summary>
|
||
Window size to calculate average value of pixels for.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies window size around processing pixel, which determines number of
|
||
neighbor pixels to use for calculating their average brightness.</para>
|
||
|
||
<para>Default value is set to <b>41</b>.</para>
|
||
|
||
<para><note>The value should be odd.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BradleyLocalThresholding.PixelBrightnessDifferenceLimit">
|
||
<summary>
|
||
Brightness difference limit between processing pixel and average value across neighbors.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies what is the allowed difference percent between processing pixel
|
||
and average brightness of neighbor pixels in order to be set white. If the value of the
|
||
current pixel is <i>t</i> percent (this property value) lower than the average then it is set
|
||
to black, otherwise it is set to white. </para>
|
||
|
||
<para>Default value is set to <b>0.15</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BradleyLocalThresholding.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.IntegralImage">
|
||
<summary>
|
||
Integral image.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements integral image concept, which is described by
|
||
Viola and Jones in: <b>P. Viola and M. J. Jones, "Robust real-time face detection",
|
||
Int. Journal of Computer Vision 57(2), pp. 137–154, 2004</b>.</para>
|
||
|
||
<para><i>"An integral image <b>I</b> of an input image <b>G</b> is defined as the image in which the
|
||
intensity at a pixel position is equal to the sum of the intensities of all the pixels
|
||
above and to the left of that position in the original image."</i></para>
|
||
|
||
<para>The intensity at position (x, y) can be written as:</para>
|
||
<code>
|
||
x y
|
||
I(x,y) = SUM( SUM( G(i,j) ) )
|
||
i=0 j=0
|
||
</code>
|
||
|
||
<para><note>The class uses 32-bit integers to represent integral image.</note></para>
|
||
|
||
<para><note>The class processes only grayscale (8 bpp indexed) images.</note></para>
|
||
|
||
<para><note>This class contains two versions of each method: safe and unsafe. Safe methods do
|
||
checks of provided coordinates and ensure that these coordinates belong to the image, what makes
|
||
these methods slower. Unsafe methods do not do coordinates' checks and rely that these
|
||
coordinates belong to the image, what makes these methods faster.</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create integral image
|
||
IntegralImage im = IntegralImage.FromBitmap( image );
|
||
// get pixels' mean value in the specified rectangle
|
||
float mean = im.GetRectangleMean( 10, 10, 20, 30 )
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.IntegralImage.integralImage">
|
||
<summary>
|
||
Intergral image's array.
|
||
</summary>
|
||
|
||
<remarks>See remarks to <see cref="P:AForge.Imaging.IntegralImage.InternalData"/> property.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.IntegralImage"/> class.
|
||
</summary>
|
||
|
||
<param name="width">Image width.</param>
|
||
<param name="height">Image height.</param>
|
||
|
||
<remarks>The constractor is protected, what makes it imposible to instantiate this
|
||
class directly. To create an instance of this class <see cref="M:AForge.Imaging.IntegralImage.FromBitmap(System.Drawing.Bitmap)"/> or
|
||
<see cref="M:AForge.Imaging.IntegralImage.FromBitmap(System.Drawing.Imaging.BitmapData)"/> method should be used.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.FromBitmap(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Construct integral image from source grayscale image.
|
||
</summary>
|
||
|
||
<param name="image">Source grayscale image.</param>
|
||
|
||
<returns>Returns integral image.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.FromBitmap(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Construct integral image from source grayscale image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data.</param>
|
||
|
||
<returns>Returns integral image.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.FromBitmap(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Construct integral image from source grayscale image.
|
||
</summary>
|
||
|
||
<param name="image">Source unmanaged image.</param>
|
||
|
||
<returns>Returns integral image.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.GetRectangleSum(System.Int32,System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Calculate sum of pixels in the specified rectangle.
|
||
</summary>
|
||
|
||
<param name="x1">X coordinate of left-top rectangle's corner.</param>
|
||
<param name="y1">Y coordinate of left-top rectangle's corner.</param>
|
||
<param name="x2">X coordinate of right-bottom rectangle's corner.</param>
|
||
<param name="y2">Y coordinate of right-bottom rectangle's corner.</param>
|
||
|
||
<returns>Returns sum of pixels in the specified rectangle.</returns>
|
||
|
||
<remarks><para>Both specified points are included into the calculation rectangle.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.GetHaarXWavelet(System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Calculate horizontal (X) haar wavelet at the specified point.
|
||
</summary>
|
||
|
||
<param name="x">X coordinate of the point to calculate wavelet at.</param>
|
||
<param name="y">Y coordinate of the point to calculate wavelet at.</param>
|
||
<param name="radius">Wavelet size to calculate.</param>
|
||
|
||
<returns>Returns value of the horizontal wavelet at the specified point.</returns>
|
||
|
||
<remarks><para>The method calculates horizontal wavelet, which is a difference
|
||
of two horizontally adjacent boxes' sums, i.e. <b>A-B</b>. A is the sum of rectangle with coordinates
|
||
(x, y-radius, x+radius-1, y+radius-1). B is the sum of rectangle with coordinates
|
||
(x-radius, y-radius, x-1, y+radiys-1).</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.GetHaarYWavelet(System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Calculate vertical (Y) haar wavelet at the specified point.
|
||
</summary>
|
||
|
||
<param name="x">X coordinate of the point to calculate wavelet at.</param>
|
||
<param name="y">Y coordinate of the point to calculate wavelet at.</param>
|
||
<param name="radius">Wavelet size to calculate.</param>
|
||
|
||
<returns>Returns value of the vertical wavelet at the specified point.</returns>
|
||
|
||
<remarks><para>The method calculates vertical wavelet, which is a difference
|
||
of two vertical adjacent boxes' sums, i.e. <b>A-B</b>. A is the sum of rectangle with coordinates
|
||
(x-radius, y, x+radius-1, y+radius-1). B is the sum of rectangle with coordinates
|
||
(x-radius, y-radius, x+radius-1, y-1).</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.GetRectangleSumUnsafe(System.Int32,System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Calculate sum of pixels in the specified rectangle without checking it's coordinates.
|
||
</summary>
|
||
|
||
<param name="x1">X coordinate of left-top rectangle's corner.</param>
|
||
<param name="y1">Y coordinate of left-top rectangle's corner.</param>
|
||
<param name="x2">X coordinate of right-bottom rectangle's corner.</param>
|
||
<param name="y2">Y coordinate of right-bottom rectangle's corner.</param>
|
||
|
||
<returns>Returns sum of pixels in the specified rectangle.</returns>
|
||
|
||
<remarks><para>Both specified points are included into the calculation rectangle.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.GetRectangleSum(System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Calculate sum of pixels in the specified rectangle.
|
||
</summary>
|
||
|
||
<param name="x">X coordinate of central point of the rectangle.</param>
|
||
<param name="y">Y coordinate of central point of the rectangle.</param>
|
||
<param name="radius">Radius of the rectangle.</param>
|
||
|
||
<returns>Returns sum of pixels in the specified rectangle.</returns>
|
||
|
||
<remarks><para>The method calculates sum of pixels in square rectangle with
|
||
odd width and height. In the case if it is required to calculate sum of
|
||
3x3 rectangle, then it is required to specify its center and radius equal to 1.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.GetRectangleSumUnsafe(System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Calculate sum of pixels in the specified rectangle without checking it's coordinates.
|
||
</summary>
|
||
|
||
<param name="x">X coordinate of central point of the rectangle.</param>
|
||
<param name="y">Y coordinate of central point of the rectangle.</param>
|
||
<param name="radius">Radius of the rectangle.</param>
|
||
|
||
<returns>Returns sum of pixels in the specified rectangle.</returns>
|
||
|
||
<remarks><para>The method calculates sum of pixels in square rectangle with
|
||
odd width and height. In the case if it is required to calculate sum of
|
||
3x3 rectangle, then it is required to specify its center and radius equal to 1.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.GetRectangleMean(System.Int32,System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Calculate mean value of pixels in the specified rectangle.
|
||
</summary>
|
||
|
||
<param name="x1">X coordinate of left-top rectangle's corner.</param>
|
||
<param name="y1">Y coordinate of left-top rectangle's corner.</param>
|
||
<param name="x2">X coordinate of right-bottom rectangle's corner.</param>
|
||
<param name="y2">Y coordinate of right-bottom rectangle's corner.</param>
|
||
|
||
<returns>Returns mean value of pixels in the specified rectangle.</returns>
|
||
|
||
<remarks>Both specified points are included into the calculation rectangle.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.GetRectangleMeanUnsafe(System.Int32,System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Calculate mean value of pixels in the specified rectangle without checking it's coordinates.
|
||
</summary>
|
||
|
||
<param name="x1">X coordinate of left-top rectangle's corner.</param>
|
||
<param name="y1">Y coordinate of left-top rectangle's corner.</param>
|
||
<param name="x2">X coordinate of right-bottom rectangle's corner.</param>
|
||
<param name="y2">Y coordinate of right-bottom rectangle's corner.</param>
|
||
|
||
<returns>Returns mean value of pixels in the specified rectangle.</returns>
|
||
|
||
<remarks>Both specified points are included into the calculation rectangle.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.GetRectangleMean(System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Calculate mean value of pixels in the specified rectangle.
|
||
</summary>
|
||
|
||
<param name="x">X coordinate of central point of the rectangle.</param>
|
||
<param name="y">Y coordinate of central point of the rectangle.</param>
|
||
<param name="radius">Radius of the rectangle.</param>
|
||
|
||
<returns>Returns mean value of pixels in the specified rectangle.</returns>
|
||
|
||
<remarks>The method calculates mean value of pixels in square rectangle with
|
||
odd width and height. In the case if it is required to calculate mean value of
|
||
3x3 rectangle, then it is required to specify its center and radius equal to 1.
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IntegralImage.GetRectangleMeanUnsafe(System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Calculate mean value of pixels in the specified rectangle without checking it's coordinates.
|
||
</summary>
|
||
|
||
<param name="x">X coordinate of central point of the rectangle.</param>
|
||
<param name="y">Y coordinate of central point of the rectangle.</param>
|
||
<param name="radius">Radius of the rectangle.</param>
|
||
|
||
<returns>Returns mean value of pixels in the specified rectangle.</returns>
|
||
|
||
<remarks>The method calculates mean value of pixels in square rectangle with
|
||
odd width and height. In the case if it is required to calculate mean value of
|
||
3x3 rectangle, then it is required to specify its center and radius equal to 1.
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.IntegralImage.Width">
|
||
<summary>
|
||
Width of the source image the integral image was constructed for.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.IntegralImage.Height">
|
||
<summary>
|
||
Height of the source image the integral image was constructed for.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.IntegralImage.InternalData">
|
||
<summary>
|
||
Provides access to internal array keeping integral image data.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para><note>The array should be accessed by [y, x] indexing.</note></para>
|
||
|
||
<para><note>The array's size is [<see cref="P:AForge.Imaging.IntegralImage.Height"/>+1, <see cref="P:AForge.Imaging.IntegralImage.Width"/>+1]. The first
|
||
row and column are filled with zeros, what is done for more efficient calculation of
|
||
rectangles' sums.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ImageStatistics">
|
||
<summary>
|
||
Gather statistics about image in RGB color space.
|
||
</summary>
|
||
|
||
<remarks><para>The class is used to accumulate statistical values about images,
|
||
like histogram, mean, standard deviation, etc. for each color channel in RGB color
|
||
space.</para>
|
||
|
||
<para>The class accepts 8 bpp grayscale and 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// gather statistics
|
||
ImageStatistics stat = new ImageStatistics( image );
|
||
// get red channel's histogram
|
||
Histogram red = stat.Red;
|
||
// check mean value of red channel
|
||
if ( red.Mean > 128 )
|
||
{
|
||
// do further processing
|
||
}
|
||
</code>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Math.Histogram"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatistics.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatistics.#ctor(System.Drawing.Bitmap,System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask image which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask image must be a grayscale/binary (8bpp) image of the same size as the
|
||
specified source image, where black pixels (value 0) correspond to areas which should be excluded
|
||
from processing. So statistics is calculated only for pixels, which are none black in the mask image.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask image must be 8 bpp grayscale image.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatistics.#ctor(System.Drawing.Bitmap,System.Byte[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask array which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask array must be of the same size as the specified source image, where 0 values
|
||
correspond to areas which should be excluded from processing. So statistics is calculated only for pixels,
|
||
which have none zero corresponding value in the mask.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatistics.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to gather statistics about.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatistics.#ctor(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask image which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask image must be a grayscale/binary (8bpp) image of the same size as the
|
||
specified source image, where black pixels (value 0) correspond to areas which should be excluded
|
||
from processing. So statistics is calculated only for pixels, which are none black in the mask image.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask image must be 8 bpp grayscale image.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatistics.#ctor(AForge.Imaging.UnmanagedImage,System.Byte[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask array which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask array must be of the same size as the specified source image, where 0 values
|
||
correspond to areas which should be excluded from processing. So statistics is calculated only for pixels,
|
||
which have none zero corresponding value in the mask.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.Red">
|
||
<summary>
|
||
Histogram of red channel.
|
||
</summary>
|
||
|
||
<remarks><para><note>The property is valid only for color images
|
||
(see <see cref="P:AForge.Imaging.ImageStatistics.IsGrayscale"/> property).</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.Green">
|
||
<summary>
|
||
Histogram of green channel.
|
||
</summary>
|
||
|
||
<remarks><para><note>The property is valid only for color images
|
||
(see <see cref="P:AForge.Imaging.ImageStatistics.IsGrayscale"/> property).</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.Blue">
|
||
<summary>
|
||
Histogram of blue channel.
|
||
</summary>
|
||
|
||
<remarks><para><note>The property is valid only for color images
|
||
(see <see cref="P:AForge.Imaging.ImageStatistics.IsGrayscale"/> property).</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.Gray">
|
||
<summary>
|
||
Histogram of gray channel.
|
||
</summary>
|
||
|
||
<remarks><para><note>The property is valid only for grayscale images
|
||
(see <see cref="P:AForge.Imaging.ImageStatistics.IsGrayscale"/> property).</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.RedWithoutBlack">
|
||
<summary>
|
||
Histogram of red channel excluding black pixels.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps statistics about red channel, which
|
||
excludes all black pixels, what affects mean, standard deviation, etc.</para>
|
||
|
||
<para><note>The property is valid only for color images
|
||
(see <see cref="P:AForge.Imaging.ImageStatistics.IsGrayscale"/> property).</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.GreenWithoutBlack">
|
||
<summary>
|
||
Histogram of green channel excluding black pixels.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps statistics about green channel, which
|
||
excludes all black pixels, what affects mean, standard deviation, etc.</para>
|
||
|
||
<para><note>The property is valid only for color images
|
||
(see <see cref="P:AForge.Imaging.ImageStatistics.IsGrayscale"/> property).</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.BlueWithoutBlack">
|
||
<summary>
|
||
Histogram of blue channel excluding black pixels
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps statistics about blue channel, which
|
||
excludes all black pixels, what affects mean, standard deviation, etc.</para>
|
||
|
||
<para><note>The property is valid only for color images
|
||
(see <see cref="P:AForge.Imaging.ImageStatistics.IsGrayscale"/> property).</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.GrayWithoutBlack">
|
||
<summary>
|
||
Histogram of gray channel channel excluding black pixels.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps statistics about gray channel, which
|
||
excludes all black pixels, what affects mean, standard deviation, etc.</para>
|
||
|
||
<para><note>The property is valid only for grayscale images
|
||
(see <see cref="P:AForge.Imaging.ImageStatistics.IsGrayscale"/> property).</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.PixelsCount">
|
||
<summary>
|
||
Total pixels count in the processed image.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.PixelsCountWithoutBlack">
|
||
<summary>
|
||
Total pixels count in the processed image excluding black pixels.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatistics.IsGrayscale">
|
||
<summary>
|
||
Value wich specifies if the processed image was color or grayscale.
|
||
</summary>
|
||
|
||
<remarks><para>If the value is set to <see langword="true"/> then <see cref="P:AForge.Imaging.ImageStatistics.Gray"/>
|
||
property should be used to get statistics information about image. Otherwise
|
||
<see cref="P:AForge.Imaging.ImageStatistics.Red"/>, <see cref="P:AForge.Imaging.ImageStatistics.Green"/> and <see cref="P:AForge.Imaging.ImageStatistics.Blue"/> properties should be used
|
||
for color images.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.HorizontalIntensityStatistics">
|
||
<summary>
|
||
Horizontal intensity statistics.
|
||
</summary>
|
||
|
||
<remarks><para>The class provides information about horizontal distribution
|
||
of pixel intensities, which may be used to locate objects, their centers, etc.
|
||
</para>
|
||
|
||
<para>The class accepts grayscale (8 bpp indexed and 16 bpp) and color (24, 32, 48 and 64 bpp) images.
|
||
In the case of 32 and 64 bpp color images, the alpha channel is not processed - statistics is not
|
||
gathered for this channel.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// collect statistics
|
||
HorizontalIntensityStatistics his = new HorizontalIntensityStatistics( sourceImage );
|
||
// get gray histogram (for grayscale image)
|
||
Histogram histogram = his.Gray;
|
||
// output some histogram's information
|
||
System.Diagnostics.Debug.WriteLine( "Mean = " + histogram.Mean );
|
||
System.Diagnostics.Debug.WriteLine( "Min = " + histogram.Min );
|
||
System.Diagnostics.Debug.WriteLine( "Max = " + histogram.Max );
|
||
</code>
|
||
|
||
<para><b>Sample grayscale image with its horizontal intensity histogram:</b></para>
|
||
<img src="img/imaging/hor_histogram.jpg" width="320" height="338"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.VerticalIntensityStatistics"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HorizontalIntensityStatistics.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.HorizontalIntensityStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Source image.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HorizontalIntensityStatistics.#ctor(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.HorizontalIntensityStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HorizontalIntensityStatistics.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.HorizontalIntensityStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Source unmanaged image.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HorizontalIntensityStatistics.ProcessImage(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Gather horizontal intensity statistics for specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HorizontalIntensityStatistics.Red">
|
||
<summary>
|
||
Histogram for red channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HorizontalIntensityStatistics.Green">
|
||
<summary>
|
||
Histogram for green channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HorizontalIntensityStatistics.Blue">
|
||
<summary>
|
||
Histogram for blue channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HorizontalIntensityStatistics.Gray">
|
||
<summary>
|
||
Histogram for gray channel (intensities).
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HorizontalIntensityStatistics.IsGrayscale">
|
||
<summary>
|
||
Value wich specifies if the processed image was color or grayscale.
|
||
</summary>
|
||
|
||
<remarks><para>If the property equals to <b>true</b>, then the <see cref="P:AForge.Imaging.HorizontalIntensityStatistics.Gray"/>
|
||
property should be used to retrieve histogram for the processed grayscale image.
|
||
Otherwise <see cref="P:AForge.Imaging.HorizontalIntensityStatistics.Red"/>, <see cref="P:AForge.Imaging.HorizontalIntensityStatistics.Green"/> and <see cref="P:AForge.Imaging.HorizontalIntensityStatistics.Blue"/> property
|
||
should be used to retrieve histogram for particular RGB channel of the processed
|
||
color image.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor">
|
||
<summary>
|
||
Performs quadrilateral transformation using nearest neighbor algorithm for interpolation.
|
||
</summary>
|
||
|
||
<remarks><para>The class is deprecated and <see cref="T:AForge.Imaging.Filters.SimpleQuadrilateralTransformation"/> should be used instead.</para>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.SimpleQuadrilateralTransformation"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.#ctor(System.Collections.Generic.List{AForge.IntPoint},System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceCorners">Corners of the source quadrilateral area.</param>
|
||
<param name="newWidth">Width of the new transformed image.</param>
|
||
<param name="newHeight">Height of the new transformed image.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.AutomaticSizeCalculaton"/> to
|
||
<see langword="false"/>, which means that destination image will have width and
|
||
height as specified by user.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.#ctor(System.Collections.Generic.List{AForge.IntPoint})">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceCorners">Corners of the source quadrilateral area.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.AutomaticSizeCalculaton"/> to
|
||
<see langword="true"/>, which means that destination image will have width and
|
||
height automatically calculated based on <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.SourceCorners"/> property.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
<exception cref="T:System.ArgumentException">The specified quadrilateral's corners are outside of the given image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.AutomaticSizeCalculaton">
|
||
<summary>
|
||
Automatic calculation of destination image or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies how to calculate size of destination (transformed)
|
||
image. If the property is set to <see langword="false"/>, then <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.NewWidth"/>
|
||
and <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.NewHeight"/> properties have effect and destination image's size is
|
||
specified by user. If the property is set to <see langword="true"/>, then setting the above
|
||
mentioned properties does not have any effect, but destionation image's size is
|
||
automatically calculated from <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.SourceCorners"/> property - width and height
|
||
come from length of longest edges.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.SourceCorners">
|
||
<summary>
|
||
Quadrilateral's corners in source image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies four corners of the quadrilateral area
|
||
in the source image to be transformed.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.NewWidth">
|
||
<summary>
|
||
Width of the new transformed image.
|
||
</summary>
|
||
|
||
<remarks><para>The property defines width of the destination image, which gets
|
||
transformed quadrilateral image.</para>
|
||
|
||
<para><note>Setting the property does not have any effect, if <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.AutomaticSizeCalculaton"/>
|
||
property is set to <see langword="true"/>. In this case destination image's width
|
||
is calculated automatically based on <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.SourceCorners"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.NewHeight">
|
||
<summary>
|
||
Height of the new transformed image.
|
||
</summary>
|
||
|
||
<remarks><para>The property defines height of the destination image, which gets
|
||
transformed quadrilateral image.</para>
|
||
|
||
<para><note>Setting the property does not have any effect, if <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.AutomaticSizeCalculaton"/>
|
||
property is set to <see langword="true"/>. In this case destination image's height
|
||
is calculated automatically based on <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationNearestNeighbor.SourceCorners"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Median">
|
||
<summary>
|
||
Median filter.
|
||
</summary>
|
||
|
||
<remarks><para>The median filter is normally used to reduce noise in an image, somewhat like
|
||
the <see cref="T:AForge.Imaging.Filters.Mean">mean filter</see>. However, it often does a better job than the mean
|
||
filter of preserving useful detail in the image.</para>
|
||
|
||
<para>Each pixel of the original source image is replaced with the median of neighboring pixel
|
||
values. The median is calculated by first sorting all the pixel values from the surrounding
|
||
neighborhood into numerical order and then replacing the pixel being considered with the
|
||
middle pixel value.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Median filter = new Median( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample13.png" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/median.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Median.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Median"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Median.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Median"/> class.
|
||
</summary>
|
||
|
||
<param name="size">Processing square size.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Median.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Median.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Median.Size">
|
||
<summary>
|
||
Processing square size for the median filter, [3, 25].
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <b>3</b>.</para>
|
||
|
||
<para><note>The value should be odd.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.TexturedFilter">
|
||
<summary>
|
||
Textured filter - filter an image using texture.
|
||
</summary>
|
||
|
||
<remarks><para>The filter is similar to <see cref="T:AForge.Imaging.Filters.TexturedMerge"/> filter in its
|
||
nature, but instead of working with source image and overly, it uses provided
|
||
filters to create images to merge (see <see cref="P:AForge.Imaging.Filters.TexturedFilter.Filter1"/> and <see cref="P:AForge.Imaging.Filters.TexturedFilter.Filter2"/>
|
||
properties). In addition, it uses a bit more complex formula for calculation
|
||
of destination pixel's value, which gives greater amount of flexibility:<br/>
|
||
<b>dst = <see cref="P:AForge.Imaging.Filters.TexturedFilter.FilterLevel"/> * ( src1 * textureValue + src2 * ( 1.0 - textureValue ) ) + <see cref="P:AForge.Imaging.Filters.TexturedFilter.PreserveLevel"/> * src2</b>,
|
||
where <b>src1</b> is value of pixel from the image produced by <see cref="P:AForge.Imaging.Filters.TexturedFilter.Filter1"/>,
|
||
<b>src2</b> is value of pixel from the image produced by <see cref="P:AForge.Imaging.Filters.TexturedFilter.Filter2"/>,
|
||
<b>dst</b> is value of pixel in a destination image and <b>textureValue</b> is corresponding value
|
||
from provided texture (see <see cref="P:AForge.Imaging.Filters.TexturedFilter.TextureGenerator"/> or <see cref="P:AForge.Imaging.Filters.TexturedFilter.Texture"/>).</para>
|
||
|
||
<para><note>It is possible to set <see cref="P:AForge.Imaging.Filters.TexturedFilter.Filter2"/> to <see langword="null"/>. In this case
|
||
original source image will be used instead of result produced by the second filter.</note></para>
|
||
|
||
<para>The filter 24 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage #1:</para>
|
||
<code>
|
||
// create filter
|
||
TexturedFilter filter = new TexturedFilter( new CloudsTexture( ),
|
||
new HueModifier( 50 ) );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para>Sample usage #2:</para>
|
||
<code>
|
||
// create filter
|
||
TexturedFilter filter = new TexturedFilter( new CloudsTexture( ),
|
||
new GrayscaleBT709( ), new Sepia( ) );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image #1:</b></para>
|
||
<img src="img/imaging/textured_filter1.jpg" width="480" height="361"/>
|
||
<para><b>Result image #2:</b></para>
|
||
<img src="img/imaging/textured_filter2.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TexturedFilter.#ctor(System.Single[0:,0:],AForge.Imaging.Filters.IFilter)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.TexturedFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="texture">Generated texture.</param>
|
||
<param name="filter1">First filter.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TexturedFilter.#ctor(System.Single[0:,0:],AForge.Imaging.Filters.IFilter,AForge.Imaging.Filters.IFilter)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.TexturedFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="texture">Generated texture.</param>
|
||
<param name="filter1">First filter.</param>
|
||
<param name="filter2">Second filter.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TexturedFilter.#ctor(AForge.Imaging.Textures.ITextureGenerator,AForge.Imaging.Filters.IFilter)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.TexturedFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="generator">Texture generator.</param>
|
||
<param name="filter1">First filter.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TexturedFilter.#ctor(AForge.Imaging.Textures.ITextureGenerator,AForge.Imaging.Filters.IFilter,AForge.Imaging.Filters.IFilter)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.TexturedFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="generator">Texture generator.</param>
|
||
<param name="filter1">First filter.</param>
|
||
<param name="filter2">Second filter.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TexturedFilter.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Texture size does not match image size.</exception>
|
||
<exception cref="T:System.ApplicationException">Filters should not change image dimension.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TexturedFilter.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TexturedFilter.FilterLevel">
|
||
<summary>
|
||
Filter level value, [0, 1].
|
||
</summary>
|
||
|
||
<remarks><para>Filtering factor determines portion of the destionation image, which is formed
|
||
as a result of merging source images using specified texture.</para>
|
||
|
||
<para>Default value is set to <b>1.0</b>.</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.TexturedFilter"/> class description for more details.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TexturedFilter.PreserveLevel">
|
||
<summary>
|
||
Preserve level value
|
||
</summary>
|
||
|
||
<remarks><para>Preserving factor determines portion taken from the image produced
|
||
by <see cref="P:AForge.Imaging.Filters.TexturedFilter.Filter2"/> (or from original source) without applying textured
|
||
merge to it.</para>
|
||
|
||
<para>Default value is set to <b>0.0</b>.</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.TexturedFilter"/> class description for more details.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TexturedFilter.Texture">
|
||
<summary>
|
||
Generated texture.
|
||
</summary>
|
||
|
||
<remarks><para>Two dimensional array of texture intensities.</para>
|
||
|
||
<para><note>Size of the provided texture should be the same as size of images, which will
|
||
be passed to the filter.</note></para>
|
||
|
||
<para><note>The <see cref="P:AForge.Imaging.Filters.TexturedFilter.TextureGenerator"/> property has priority over this property - if
|
||
generator is specified than the static generated texture is not used.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TexturedFilter.TextureGenerator">
|
||
<summary>
|
||
Texture generator.
|
||
</summary>
|
||
|
||
<remarks><para>Generator used to generate texture.</para>
|
||
|
||
<para><note>The property has priority over the <see cref="P:AForge.Imaging.Filters.TexturedFilter.Texture"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TexturedFilter.Filter1">
|
||
<summary>
|
||
First filter.
|
||
</summary>
|
||
|
||
<remarks><para>Filter, which is used to produce first image for the merge. The filter
|
||
needs to implement <see cref="T:AForge.Imaging.Filters.IFilterInformation"/> interface, so it could be possible
|
||
to get information about the filter. The filter must be able to process color 24 bpp
|
||
images and produce color 24 bpp or grayscale 8 bppp images as result.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The specified filter does not support 24 bpp color images.</exception>
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The specified filter does not produce image of supported format.</exception>
|
||
<exception cref="T:System.ArgumentException">The specified filter does not implement IFilterInformation interface.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TexturedFilter.Filter2">
|
||
<summary>
|
||
Second filter
|
||
</summary>
|
||
|
||
<remarks><para>Filter, which is used to produce second image for the merge. The filter
|
||
needs to implement <see cref="T:AForge.Imaging.Filters.IFilterInformation"/> interface, so it could be possible
|
||
to get information about the filter. The filter must be able to process color 24 bpp
|
||
images and produce color 24 bpp or grayscale 8 bppp images as result.</para>
|
||
|
||
<para><note>The filter may be set to <see langword="null"/>. In this case original source image
|
||
is used as a second image for the merge.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The specified filter does not support 24 bpp color images.</exception>
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The specified filter does not produce image of supported format.</exception>
|
||
<exception cref="T:System.ArgumentException">The specified filter does not implement IFilterInformation interface.</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.TopHat">
|
||
<summary>
|
||
Top-hat operator from Mathematical Morphology.
|
||
</summary>
|
||
|
||
<remarks><para>Top-hat morphological operator <see cref="T:AForge.Imaging.Filters.Subtract">subtracts</see>
|
||
result of <see cref="T:AForge.Imaging.Filters.Opening">morphological opening</see> on the input image
|
||
from the input image itself.</para>
|
||
|
||
<para>Applied to binary image, the filter allows to get all those object (their parts)
|
||
which were removed by <see cref="T:AForge.Imaging.Filters.Opening">opening</see> filter, but never restored.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24 and 48 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
TopHat filter = new TopHat( );
|
||
// apply the filter
|
||
filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample12.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/tophat.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<see cref="T:AForge.Imaging.Filters.BottomHat"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TopHat.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.TopHat"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TopHat.#ctor(System.Int16[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.TopHat"/> class.
|
||
</summary>
|
||
|
||
<param name="se">Structuring element to pass to <see cref="T:AForge.Imaging.Filters.Opening"/> operator.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TopHat.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TopHat.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.DifferenceEdgeDetector">
|
||
<summary>
|
||
Difference edge detector.
|
||
</summary>
|
||
|
||
<remarks><para>The filter finds objects' edges by calculating maximum difference
|
||
between pixels in 4 directions around the processing pixel.</para>
|
||
|
||
<para>Suppose 3x3 square element of the source image (x - is currently processed
|
||
pixel):
|
||
<code lang="none">
|
||
P1 P2 P3
|
||
P8 x P4
|
||
P7 P6 P5
|
||
</code>
|
||
The corresponding pixel of the result image equals to:
|
||
<code lang="none">
|
||
max( |P1-P5|, |P2-P6|, |P3-P7|, |P4-P8| )
|
||
</code>
|
||
</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
DifferenceEdgeDetector filter = new DifferenceEdgeDetector( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample2.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/difference_edges.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.HomogenityEdgeDetector"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.SobelEdgeDetector"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.DifferenceEdgeDetector.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.DifferenceEdgeDetector"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.DifferenceEdgeDetector.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.DifferenceEdgeDetector.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Mean">
|
||
<summary>
|
||
Mean filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs each pixel value's averaging with its 8 neighbors, which is
|
||
<see cref="T:AForge.Imaging.Filters.Convolution">convolution filter</see> using the mean kernel:</para>
|
||
|
||
<code lang="none">
|
||
1 1 1
|
||
1 1 1
|
||
1 1 1
|
||
</code>
|
||
|
||
<para>For the list of supported pixel formats, see the documentation to <see cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
filter.</para>
|
||
|
||
<para>With the above kernel the convolution filter is just calculates each pixel's value
|
||
in result image as average of 9 corresponding pixels in the source image.</para>
|
||
|
||
<para><note>By default this filter sets <see cref="P:AForge.Imaging.Filters.Convolution.ProcessAlpha"/> property to
|
||
<see langword="true"/>, so the alpha channel of 32 bpp and 64 bpp images is blurred as well.
|
||
</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Mean filter = new Mean( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample13.png" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/mean.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Mean.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Mean"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.LevelsLinear">
|
||
<summary>
|
||
Linear correction of RGB channels.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs linear correction of RGB channels by mapping specified
|
||
channels' input ranges to output ranges. It is similar to the
|
||
<see cref="T:AForge.Imaging.Filters.ColorRemapping"/>, but the remapping is linear.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
LevelsLinear filter = new LevelsLinear( );
|
||
// set ranges
|
||
filter.InRed = new IntRange( 30, 230 );
|
||
filter.InGreen = new IntRange( 50, 240 );
|
||
filter.InBlue = new IntRange( 10, 210 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/levels_linear.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.HSLLinear"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.YCbCrLinear"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.LevelsLinear.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.LevelsLinear"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.LevelsLinear.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.LevelsLinear.CalculateMap(AForge.IntRange,AForge.IntRange,System.Byte[])">
|
||
<summary>
|
||
Calculate conversion map.
|
||
</summary>
|
||
|
||
<param name="inRange">Input range.</param>
|
||
<param name="outRange">Output range.</param>
|
||
<param name="map">Conversion map.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.InRed">
|
||
<summary>
|
||
Red component's input range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.InGreen">
|
||
<summary>
|
||
Green component's input range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.InBlue">
|
||
<summary>
|
||
Blue component's input range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.InGray">
|
||
<summary>
|
||
Gray component's input range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.Input">
|
||
<summary>
|
||
Input range for RGB components.
|
||
</summary>
|
||
|
||
<remarks>The property allows to set red, green and blue input ranges to the same value.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.OutRed">
|
||
<summary>
|
||
Red component's output range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.OutGreen">
|
||
<summary>
|
||
Green component's output range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.OutBlue">
|
||
<summary>
|
||
Blue component's output range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.OutGray">
|
||
<summary>
|
||
Gray component's output range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear.Output">
|
||
<summary>
|
||
Output range for RGB components.
|
||
</summary>
|
||
|
||
<remarks>The property allows to set red, green and blue output ranges to the same value.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.SISThreshold">
|
||
<summary>
|
||
Threshold using Simple Image Statistics (SIS).
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs image thresholding calculating threshold automatically
|
||
using simple image statistics method. For each pixel:
|
||
<list type="bullet">
|
||
<item>two gradients are calculated - ex = |I(x + 1, y) - I(x - 1, y)| and
|
||
|I(x, y + 1) - I(x, y - 1)|;</item>
|
||
<item>weight is calculated as maximum of two gradients;</item>
|
||
<item>sum of weights is updated (weightTotal += weight);</item>
|
||
<item>sum of weighted pixel values is updated (total += weight * I(x, y)).</item>
|
||
</list>
|
||
The result threshold is calculated as sum of weighted pixel values divided by sum of weight.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
SISThreshold filter = new SISThreshold( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample11.png" width="256" height="256"/>
|
||
<para><b>Result image (calculated threshold is 127):</b></para>
|
||
<img src="img/imaging/sis_threshold.png" width="256" height="256"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.IterativeThreshold"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.OtsuThreshold"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SISThreshold.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SISThreshold"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SISThreshold.CalculateThreshold(System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Calculate binarization threshold for the given image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate binarization threshold for.</param>
|
||
<param name="rect">Rectangle to calculate binarization threshold for.</param>
|
||
|
||
<returns>Returns binarization threshold.</returns>
|
||
|
||
<remarks><para>The method is used to calculate binarization threshold only. The threshold
|
||
later may be applied to the image using <see cref="T:AForge.Imaging.Filters.Threshold"/> image processing filter.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported by the routine. It should be
|
||
8 bpp grayscale (indexed) image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SISThreshold.CalculateThreshold(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Calculate binarization threshold for the given image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate binarization threshold for.</param>
|
||
<param name="rect">Rectangle to calculate binarization threshold for.</param>
|
||
|
||
<returns>Returns binarization threshold.</returns>
|
||
|
||
<remarks><para>The method is used to calculate binarization threshold only. The threshold
|
||
later may be applied to the image using <see cref="T:AForge.Imaging.Filters.Threshold"/> image processing filter.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported by the routine. It should be
|
||
8 bpp grayscale (indexed) image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SISThreshold.CalculateThreshold(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Calculate binarization threshold for the given image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate binarization threshold for.</param>
|
||
<param name="rect">Rectangle to calculate binarization threshold for.</param>
|
||
|
||
<returns>Returns binarization threshold.</returns>
|
||
|
||
<remarks><para>The method is used to calculate binarization threshold only. The threshold
|
||
later may be applied to the image using <see cref="T:AForge.Imaging.Filters.Threshold"/> image processing filter.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported by the routine. It should be
|
||
8 bpp grayscale (indexed) image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SISThreshold.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SISThreshold.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SISThreshold.ThresholdValue">
|
||
<summary>
|
||
Threshold value.
|
||
</summary>
|
||
|
||
<remarks><para>The property is read only and represents the value, which
|
||
was automaticaly calculated using image statistics.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Difference">
|
||
<summary>
|
||
Difference filter - get the difference between overlay and source images.
|
||
</summary>
|
||
|
||
<remarks><para>The difference filter takes two images (source and
|
||
<see cref="P:AForge.Imaging.Filters.BaseInPlaceFilter2.OverlayImage">overlay</see> images)
|
||
of the same size and pixel format and produces an image, where each pixel equals
|
||
to absolute difference between corresponding pixels from provided images.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24, 32, 48 and 64 bpp
|
||
color images for processing.</para>
|
||
|
||
<para><note>In the case if images with alpha channel are used (32 or 64 bpp), visualization
|
||
of the result image may seem a bit unexpected - most probably nothing will be seen
|
||
(in the case if image is displayed according to its alpha channel). This may be
|
||
caused by the fact that after differencing the entire alpha channel will be zeroed
|
||
(zero difference between alpha channels), what means that the resulting image will be
|
||
100% transparent.</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Difference filter = new Difference( overlayImage );
|
||
// apply the filter
|
||
Bitmap resultImage = filter.Apply( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample6.png" width="320" height="240"/>
|
||
<para><b>Overlay image:</b></para>
|
||
<img src="img/imaging/sample7.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/difference.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Intersect"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Merge"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Add"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Subtract"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Difference.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Difference"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Difference.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Difference"/> class.
|
||
</summary>
|
||
|
||
<param name="overlayImage">Overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Difference.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Difference"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedOverlayImage">Unmanaged overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Difference.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Difference.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.UnmanagedImage">
|
||
<summary>
|
||
Image in unmanaged memory.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The class represents wrapper of an image in unmanaged memory. Using this class
|
||
it is possible as to allocate new image in unmanaged memory, as to just wrap provided
|
||
pointer to unmanaged memory, where an image is stored.</para>
|
||
|
||
<para>Usage of unmanaged images is mostly beneficial when it is required to apply <b>multiple</b>
|
||
image processing routines to a single image. In such scenario usage of .NET managed images
|
||
usually leads to worse performance, because each routine needs to lock managed image
|
||
before image processing is done and then unlock it after image processing is done. Without
|
||
these lock/unlock there is no way to get direct access to managed image's data, which means
|
||
there is no way to do fast image processing. So, usage of managed images lead to overhead, which
|
||
is caused by locks/unlock. Unmanaged images are represented internally using unmanaged memory
|
||
buffer. This means that it is not required to do any locks/unlocks in order to get access to image
|
||
data (no overhead).</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// sample 1 - wrapping .NET image into unmanaged without
|
||
// making extra copy of image in memory
|
||
BitmapData imageData = image.LockBits(
|
||
new Rectangle( 0, 0, image.Width, image.Height ),
|
||
ImageLockMode.ReadWrite, image.PixelFormat );
|
||
|
||
try
|
||
{
|
||
UnmanagedImage unmanagedImage = new UnmanagedImage( imageData ) );
|
||
// apply several routines to the unmanaged image
|
||
}
|
||
finally
|
||
{
|
||
image.UnlockBits( imageData );
|
||
}
|
||
|
||
|
||
// sample 2 - converting .NET image into unmanaged
|
||
UnmanagedImage unmanagedImage = UnmanagedImage.FromManagedImage( image );
|
||
// apply several routines to the unmanaged image
|
||
...
|
||
// conver to managed image if it is required to display it at some point of time
|
||
Bitmap managedImage = unmanagedImage.ToManagedImage( );
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.#ctor(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Drawing.Imaging.PixelFormat)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.UnmanagedImage"/> class.
|
||
</summary>
|
||
|
||
<param name="imageData">Pointer to image data in unmanaged memory.</param>
|
||
<param name="width">Image width in pixels.</param>
|
||
<param name="height">Image height in pixels.</param>
|
||
<param name="stride">Image stride (line size in bytes).</param>
|
||
<param name="pixelFormat">Image pixel format.</param>
|
||
|
||
<remarks><para><note>Using this constructor, make sure all specified image attributes are correct
|
||
and correspond to unmanaged memory buffer. If some attributes are specified incorrectly,
|
||
this may lead to exceptions working with the unmanaged memory.</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.#ctor(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.UnmanagedImage"/> class.
|
||
</summary>
|
||
|
||
<param name="bitmapData">Locked bitmap data.</param>
|
||
|
||
<remarks><note>Unlike <see cref="M:AForge.Imaging.UnmanagedImage.FromManagedImage(System.Drawing.Imaging.BitmapData)"/> method, this constructor does not make
|
||
copy of managed image. This means that managed image must stay locked for the time of using the instance
|
||
of unamanged image.</note></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.Finalize">
|
||
<summary>
|
||
Destroys the instance of the <see cref="T:AForge.Imaging.UnmanagedImage"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.Dispose">
|
||
<summary>
|
||
Dispose the object.
|
||
</summary>
|
||
|
||
<remarks><para>Frees unmanaged resources used by the object. The object becomes unusable
|
||
after that.</para>
|
||
|
||
<par><note>The method needs to be called only in the case if unmanaged image was allocated
|
||
using <see cref="M:AForge.Imaging.UnmanagedImage.Create(System.Int32,System.Int32,System.Drawing.Imaging.PixelFormat)"/> method. In the case if the class instance was created using constructor,
|
||
this method does not free unmanaged memory.</note></par>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.Dispose(System.Boolean)">
|
||
<summary>
|
||
Dispose the object.
|
||
</summary>
|
||
|
||
<param name="disposing">Indicates if disposing was initiated manually.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.Clone">
|
||
<summary>
|
||
Clone the unmanaged images.
|
||
</summary>
|
||
|
||
<returns>Returns clone of the unmanaged image.</returns>
|
||
|
||
<remarks><para>The method does complete cloning of the object.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.Copy(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Copy unmanaged image.
|
||
</summary>
|
||
|
||
<param name="destImage">Destination image to copy this image to.</param>
|
||
|
||
<remarks><para>The method copies current unmanaged image to the specified image.
|
||
Size and pixel format of the destination image must be exactly the same.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Destination image has different size or pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.Create(System.Int32,System.Int32,System.Drawing.Imaging.PixelFormat)">
|
||
<summary>
|
||
Allocate new image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="width">Image width.</param>
|
||
<param name="height">Image height.</param>
|
||
<param name="pixelFormat">Image pixel format.</param>
|
||
|
||
<returns>Return image allocated in unmanaged memory.</returns>
|
||
|
||
<remarks><para>Allocate new image with specified attributes in unmanaged memory.</para>
|
||
|
||
<para><note>The method supports only
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format8bppIndexed</see>,
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format16bppGrayScale</see>,
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format24bppRgb</see>,
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format32bppRgb</see>,
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format32bppArgb</see>,
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format32bppPArgb</see>,
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format48bppRgb</see>,
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format64bppArgb</see> and
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format64bppPArgb</see> pixel formats.
|
||
In the case if <see cref="T:System.Drawing.Imaging.PixelFormat">Format8bppIndexed</see>
|
||
format is specified, pallete is not not created for the image (supposed that it is
|
||
8 bpp grayscale image).
|
||
</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format was specified.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Invalid image size was specified.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.ToManagedImage">
|
||
<summary>
|
||
Create managed image from the unmanaged.
|
||
</summary>
|
||
|
||
<returns>Returns managed copy of the unmanaged image.</returns>
|
||
|
||
<remarks><para>The method creates a managed copy of the unmanaged image with the
|
||
same size and pixel format (it calls <see cref="M:AForge.Imaging.UnmanagedImage.ToManagedImage(System.Boolean)"/> specifying
|
||
<see langword="true"/> for the <b>makeCopy</b> parameter).</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.ToManagedImage(System.Boolean)">
|
||
<summary>
|
||
Create managed image from the unmanaged.
|
||
</summary>
|
||
|
||
<param name="makeCopy">Make a copy of the unmanaged image or not.</param>
|
||
|
||
<returns>Returns managed copy of the unmanaged image.</returns>
|
||
|
||
<remarks><para>If the <paramref name="makeCopy"/> is set to <see langword="true"/>, then the method
|
||
creates a managed copy of the unmanaged image, so the managed image stays valid even when the unmanaged
|
||
image gets disposed. However, setting this parameter to <see langword="false"/> creates a managed image which is
|
||
just a wrapper around the unmanaged image. So if unmanaged image is disposed, the
|
||
managed image becomes no longer valid and accessing it will generate an exception.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">The unmanaged image has some invalid properties, which results
|
||
in failure of converting it to managed image. This may happen if user used the
|
||
<see cref="M:AForge.Imaging.UnmanagedImage.#ctor(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Drawing.Imaging.PixelFormat)"/> constructor specifying some
|
||
invalid parameters.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.FromManagedImage(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Create unmanaged image from the specified managed image.
|
||
</summary>
|
||
|
||
<param name="image">Source managed image.</param>
|
||
|
||
<returns>Returns new unmanaged image, which is a copy of source managed image.</returns>
|
||
|
||
<remarks><para>The method creates an exact copy of specified managed image, but allocated
|
||
in unmanaged memory.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.FromManagedImage(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Create unmanaged image from the specified managed image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source locked image data.</param>
|
||
|
||
<returns>Returns new unmanaged image, which is a copy of source managed image.</returns>
|
||
|
||
<remarks><para>The method creates an exact copy of specified managed image, but allocated
|
||
in unmanaged memory. This means that managed image may be unlocked right after call to this
|
||
method.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.Collect8bppPixelValues(System.Collections.Generic.List{AForge.IntPoint})">
|
||
<summary>
|
||
Collect pixel values from the specified list of coordinates.
|
||
</summary>
|
||
|
||
<param name="points">List of coordinates to collect pixels' value from.</param>
|
||
|
||
<returns>Returns array of pixels' values from the specified coordinates.</returns>
|
||
|
||
<remarks><para>The method goes through the specified list of points and for each point retrievs
|
||
corresponding pixel's value from the unmanaged image.</para>
|
||
|
||
<para><note>For grayscale image the output array has the same length as number of points in the
|
||
specified list of points. For color image the output array has triple length, containing pixels'
|
||
values in RGB order.</note></para>
|
||
|
||
<para><note>The method does not make any checks for valid coordinates and leaves this up to user.
|
||
If specified coordinates are out of image's bounds, the result is not predictable (crash in most cases).
|
||
</note></para>
|
||
|
||
<para><note>This method is supposed for images with 8 bpp channels only (8 bpp grayscale image and
|
||
24/32 bpp color images).</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image. Use Collect16bppPixelValues() method for
|
||
images with 16 bpp channels.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.CollectActivePixels">
|
||
<summary>
|
||
Collect coordinates of none black pixels in the image.
|
||
</summary>
|
||
|
||
<returns>Returns list of points, which have other than black color.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.CollectActivePixels(System.Drawing.Rectangle)">
|
||
<summary>
|
||
Collect coordinates of none black pixels within specified rectangle of the image.
|
||
</summary>
|
||
|
||
<param name="rect">Image's rectangle to process.</param>
|
||
|
||
<returns>Returns list of points, which have other than black color.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.SetPixels(System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Color)">
|
||
<summary>
|
||
Set pixels with the specified coordinates to the specified color.
|
||
</summary>
|
||
|
||
<param name="coordinates">List of points to set color for.</param>
|
||
<param name="color">Color to set for the specified points.</param>
|
||
|
||
<remarks><para><note>For images having 16 bpp per color plane, the method extends the specified color
|
||
value to 16 bit by multiplying it by 256.</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.SetPixel(AForge.IntPoint,System.Drawing.Color)">
|
||
<summary>
|
||
Set pixel with the specified coordinates to the specified color.
|
||
</summary>
|
||
|
||
<param name="point">Point's coordiates to set color for.</param>
|
||
<param name="color">Color to set for the pixel.</param>
|
||
|
||
<remarks><para>See <see cref="M:AForge.Imaging.UnmanagedImage.SetPixel(System.Int32,System.Int32,System.Drawing.Color)"/> for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.SetPixel(System.Int32,System.Int32,System.Drawing.Color)">
|
||
<summary>
|
||
Set pixel with the specified coordinates to the specified color.
|
||
</summary>
|
||
|
||
<param name="x">X coordinate of the pixel to set.</param>
|
||
<param name="y">Y coordinate of the pixel to set.</param>
|
||
<param name="color">Color to set for the pixel.</param>
|
||
|
||
<remarks><para><note>For images having 16 bpp per color plane, the method extends the specified color
|
||
value to 16 bit by multiplying it by 256.</note></para>
|
||
|
||
<para>For grayscale images this method will calculate intensity value based on the below formula:
|
||
<code lang="none">
|
||
0.2125 * Red + 0.7154 * Green + 0.0721 * Blue
|
||
</code>
|
||
</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.SetPixel(System.Int32,System.Int32,System.Byte)">
|
||
<summary>
|
||
Set pixel with the specified coordinates to the specified value.
|
||
</summary>
|
||
|
||
<param name="x">X coordinate of the pixel to set.</param>
|
||
<param name="y">Y coordinate of the pixel to set.</param>
|
||
<param name="value">Pixel value to set.</param>
|
||
|
||
<remarks><para>The method sets all color components of the pixel to the specified value.
|
||
If it is a grayscale image, then pixel's intensity is set to the specified value.
|
||
If it is a color image, then pixel's R/G/B components are set to the same specified value
|
||
(if an image has alpha channel, then it is set to maximum value - 255 or 65535).</para>
|
||
|
||
<para><note>For images having 16 bpp per color plane, the method extends the specified color
|
||
value to 16 bit by multiplying it by 256.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.GetPixel(AForge.IntPoint)">
|
||
<summary>
|
||
Get color of the pixel with the specified coordinates.
|
||
</summary>
|
||
|
||
<param name="point">Point's coordiates to get color of.</param>
|
||
|
||
<returns>Return pixel's color at the specified coordinates.</returns>
|
||
|
||
<remarks><para>See <see cref="M:AForge.Imaging.UnmanagedImage.GetPixel(System.Int32,System.Int32)"/> for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.GetPixel(System.Int32,System.Int32)">
|
||
<summary>
|
||
Get color of the pixel with the specified coordinates.
|
||
</summary>
|
||
|
||
<param name="x">X coordinate of the pixel to get.</param>
|
||
<param name="y">Y coordinate of the pixel to get.</param>
|
||
|
||
<returns>Return pixel's color at the specified coordinates.</returns>
|
||
|
||
<remarks>
|
||
<para><note>In the case if the image has 8 bpp grayscale format, the method will return a color with
|
||
all R/G/B components set to same value, which is grayscale intensity.</note></para>
|
||
|
||
<para><note>The method supports only 8 bpp grayscale images and 24/32 bpp color images so far.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentOutOfRangeException">The specified pixel coordinate is out of image's bounds.</exception>
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Pixel format of this image is not supported by the method.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnmanagedImage.Collect16bppPixelValues(System.Collections.Generic.List{AForge.IntPoint})">
|
||
<summary>
|
||
Collect pixel values from the specified list of coordinates.
|
||
</summary>
|
||
|
||
<param name="points">List of coordinates to collect pixels' value from.</param>
|
||
|
||
<returns>Returns array of pixels' values from the specified coordinates.</returns>
|
||
|
||
<remarks><para>The method goes through the specified list of points and for each point retrievs
|
||
corresponding pixel's value from the unmanaged image.</para>
|
||
|
||
<para><note>For grayscale image the output array has the same length as number of points in the
|
||
specified list of points. For color image the output array has triple length, containing pixels'
|
||
values in RGB order.</note></para>
|
||
|
||
<para><note>The method does not make any checks for valid coordinates and leaves this up to user.
|
||
If specified coordinates are out of image's bounds, the result is not predictable (crash in most cases).
|
||
</note></para>
|
||
|
||
<para><note>This method is supposed for images with 16 bpp channels only (16 bpp grayscale image and
|
||
48/64 bpp color images).</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image. Use Collect8bppPixelValues() method for
|
||
images with 8 bpp channels.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.UnmanagedImage.ImageData">
|
||
<summary>
|
||
Pointer to image data in unmanaged memory.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.UnmanagedImage.Width">
|
||
<summary>
|
||
Image width in pixels.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.UnmanagedImage.Height">
|
||
<summary>
|
||
Image height in pixels.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.UnmanagedImage.Stride">
|
||
<summary>
|
||
Image stride (line size in bytes).
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.UnmanagedImage.PixelFormat">
|
||
<summary>
|
||
Image pixel format.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Textures.CloudsTexture">
|
||
<summary>
|
||
Clouds texture.
|
||
</summary>
|
||
|
||
<remarks><para>The texture generator creates textures with effect of clouds.</para>
|
||
|
||
<para>The generator is based on the <see cref="T:AForge.Math.PerlinNoise">Perlin noise function</see>.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create texture generator
|
||
CloudsTexture textureGenerator = new CloudsTexture( );
|
||
// generate new texture
|
||
float[,] texture = textureGenerator.Generate( 320, 240 );
|
||
// convert it to image to visualize
|
||
Bitmap textureImage = TextureTools.ToBitmap( texture );
|
||
</code>
|
||
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/clouds_texture.jpg" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Textures.ITextureGenerator">
|
||
<summary>
|
||
Texture generator interface.
|
||
</summary>
|
||
|
||
<remarks><para>Each texture generator generates a 2-D texture of the specified size and returns
|
||
it as two dimensional array of intensities in the range of [0, 1] - texture's values.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.ITextureGenerator.Generate(System.Int32,System.Int32)">
|
||
<summary>
|
||
Generate texture.
|
||
</summary>
|
||
|
||
<param name="width">Texture's width.</param>
|
||
<param name="height">Texture's height.</param>
|
||
|
||
<returns>Two dimensional array of texture's intensities.</returns>
|
||
|
||
<remarks>Generates new texture of the specified size.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.ITextureGenerator.Reset">
|
||
<summary>
|
||
Reset generator.
|
||
</summary>
|
||
|
||
<remarks>Resets the generator - resets all internal variables, regenerates
|
||
internal random numbers, etc.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.CloudsTexture.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Textures.CloudsTexture"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.CloudsTexture.Generate(System.Int32,System.Int32)">
|
||
<summary>
|
||
Generate texture.
|
||
</summary>
|
||
|
||
<param name="width">Texture's width.</param>
|
||
<param name="height">Texture's height.</param>
|
||
|
||
<returns>Two dimensional array of intensities.</returns>
|
||
|
||
<remarks>Generates new texture of the specified size.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.CloudsTexture.Reset">
|
||
<summary>
|
||
Reset generator.
|
||
</summary>
|
||
|
||
<remarks>Regenerates internal random numbers.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.QuadrilateralFinder">
|
||
<summary>
|
||
Searching of quadrilateral/triangle corners.
|
||
</summary>
|
||
|
||
<remarks><para>The class searches for quadrilateral's/triangle's corners on the specified image.
|
||
It first collects edge points of the object and then uses
|
||
<see cref="M:AForge.Math.Geometry.PointsCloud.FindQuadrilateralCorners(System.Collections.Generic.IEnumerable{AForge.IntPoint})"/> to find corners
|
||
the quadrilateral/triangle.</para>
|
||
|
||
<para><note>The class treats all black pixels as background (none-object) and
|
||
all none-black pixels as object.</note></para>
|
||
|
||
<para>The class processes grayscale 8 bpp and color 24/32 bpp images.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// get corners of the quadrilateral
|
||
QuadrilateralFinder qf = new QuadrilateralFinder( );
|
||
List<IntPoint> corners = qf.ProcessImage( image );
|
||
|
||
// lock image to draw on it with AForge.NET's methods
|
||
// (or draw directly on image without locking if it is unmanaged image)
|
||
BitmapData data = image.LockBits( new Rectangle( 0, 0, image.Width, image.Height ),
|
||
ImageLockMode.ReadWrite, image.PixelFormat );
|
||
|
||
Drawing.Polygon( data, corners, Color.Red );
|
||
for ( int i = 0; i < corners.Count; i++ )
|
||
{
|
||
Drawing.FillRectangle( data,
|
||
new Rectangle( corners[i].X - 2, corners[i].Y - 2, 5, 5 ),
|
||
Color.FromArgb( i * 32 + 127 + 32, i * 64, i * 64 ) );
|
||
}
|
||
|
||
image.UnlockBits( data );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample17.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/quadrilateral_finder.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.QuadrilateralFinder.ProcessImage(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Find corners of quadrilateral/triangular area in the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to search quadrilateral for.</param>
|
||
|
||
<returns>Returns a list of points, which are corners of the quadrilateral/triangular area found
|
||
in the specified image. The first point in the list is the point with lowest
|
||
X coordinate (and with lowest Y if there are several points with the same X value).
|
||
Points are in clockwise order (screen coordinates system).</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.QuadrilateralFinder.ProcessImage(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Find corners of quadrilateral/triangular area in the specified image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to search quadrilateral for.</param>
|
||
|
||
<returns>Returns a list of points, which are corners of the quadrilateral/triangular area found
|
||
in the specified image. The first point in the list is the point with lowest
|
||
X coordinate (and with lowest Y if there are several points with the same X value).
|
||
Points are in clockwise order (screen coordinates system).</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.QuadrilateralFinder.ProcessImage(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Find corners of quadrilateral/triangular area in the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to search quadrilateral for.</param>
|
||
|
||
<returns>Returns a list of points, which are corners of the quadrilateral/triangular area found
|
||
in the specified image. The first point in the list is the point with lowest
|
||
X coordinate (and with lowest Y if there are several points with the same X value).
|
||
Points are in clockwise order (screen coordinates system).</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.IBlobsFilter">
|
||
<summary>
|
||
Interface for custom blobs' filters used for filtering blobs after
|
||
blob counting.
|
||
</summary>
|
||
|
||
<remarks><para>The interface should be implemented by classes, which perform
|
||
custom blobs' filtering different from default filtering implemented in
|
||
<see cref="T:AForge.Imaging.BlobCounterBase"/>. See <see cref="P:AForge.Imaging.BlobCounterBase.BlobsFilter"/>
|
||
for additional information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IBlobsFilter.Check(AForge.Imaging.Blob)">
|
||
<summary>
|
||
Check specified blob and decide if should be kept or not.
|
||
</summary>
|
||
|
||
<param name="blob">Blob to check.</param>
|
||
|
||
<returns>Return <see langword="true"/> if the blob should be kept or
|
||
<see langword="false"/> if it should be removed.</returns>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.HoughLine">
|
||
<summary>
|
||
Hough line.
|
||
</summary>
|
||
|
||
<remarks><para>Represents line of Hough Line transformation using
|
||
<a href="http://en.wikipedia.org/wiki/Polar_coordinate_system">polar coordinates</a>.
|
||
See <a href="http://en.wikipedia.org/wiki/Polar_coordinate_system#Converting_between_polar_and_Cartesian_coordinates">Wikipedia</a>
|
||
for information on how to convert polar coordinates to Cartesian coordinates.
|
||
</para>
|
||
|
||
<para><note><see cref="T:AForge.Imaging.HoughLineTransformation">Hough Line transformation</see> does not provide
|
||
information about lines start and end points, only slope and distance from image's center. Using
|
||
only provided information it is not possible to draw the detected line as it exactly appears on
|
||
the source image. But it is possible to draw a line through the entire image, which contains the
|
||
source line (see sample code below).
|
||
</note></para>
|
||
|
||
<para>Sample code to draw detected Hough lines:</para>
|
||
<code>
|
||
HoughLineTransformation lineTransform = new HoughLineTransformation( );
|
||
// apply Hough line transofrm
|
||
lineTransform.ProcessImage( sourceImage );
|
||
Bitmap houghLineImage = lineTransform.ToBitmap( );
|
||
// get lines using relative intensity
|
||
HoughLine[] lines = lineTransform.GetLinesByRelativeIntensity( 0.5 );
|
||
|
||
foreach ( HoughLine line in lines )
|
||
{
|
||
// get line's radius and theta values
|
||
int r = line.Radius;
|
||
double t = line.Theta;
|
||
|
||
// check if line is in lower part of the image
|
||
if ( r < 0 )
|
||
{
|
||
t += 180;
|
||
r = -r;
|
||
}
|
||
|
||
// convert degrees to radians
|
||
t = ( t / 180 ) * Math.PI;
|
||
|
||
// get image centers (all coordinate are measured relative
|
||
// to center)
|
||
int w2 = image.Width /2;
|
||
int h2 = image.Height / 2;
|
||
|
||
double x0 = 0, x1 = 0, y0 = 0, y1 = 0;
|
||
|
||
if ( line.Theta != 0 )
|
||
{
|
||
// none-vertical line
|
||
x0 = -w2; // most left point
|
||
x1 = w2; // most right point
|
||
|
||
// calculate corresponding y values
|
||
y0 = ( -Math.Cos( t ) * x0 + r ) / Math.Sin( t );
|
||
y1 = ( -Math.Cos( t ) * x1 + r ) / Math.Sin( t );
|
||
}
|
||
else
|
||
{
|
||
// vertical line
|
||
x0 = line.Radius;
|
||
x1 = line.Radius;
|
||
|
||
y0 = h2;
|
||
y1 = -h2;
|
||
}
|
||
|
||
// draw line on the image
|
||
Drawing.Line( sourceData,
|
||
new IntPoint( (int) x0 + w2, h2 - (int) y0 ),
|
||
new IntPoint( (int) x1 + w2, h2 - (int) y1 ),
|
||
Color.Red );
|
||
}
|
||
</code>
|
||
|
||
<para>To clarify meaning of <see cref="F:AForge.Imaging.HoughLine.Radius"/> and <see cref="F:AForge.Imaging.HoughLine.Theta"/> values
|
||
of detected Hough lines, let's take a look at the below sample image and
|
||
corresponding values of radius and theta for the lines on the image:
|
||
</para>
|
||
|
||
<img src="img/imaging/sample15.png" width="400" height="300"/>
|
||
|
||
<para>Detected radius and theta values (color in corresponding colors):
|
||
<list type="bullet">
|
||
<item><font color="#FF0000">Theta = 90, R = 125, I = 249</font>;</item>
|
||
<item><font color="#00FF00">Theta = 0, R = -170, I = 187</font> (converts to Theta = 180, R = 170);</item>
|
||
<item><font color="#0000FF">Theta = 90, R = -58, I = 163</font> (converts to Theta = 270, R = 58);</item>
|
||
<item><font color="#FFFF00">Theta = 101, R = -101, I = 130</font> (converts to Theta = 281, R = 101);</item>
|
||
<item><font color="#FF8000">Theta = 0, R = 43, I = 112</font>;</item>
|
||
<item><font color="#FF80FF">Theta = 45, R = 127, I = 82</font>.</item>
|
||
</list>
|
||
</para>
|
||
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.HoughLineTransformation"/>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.HoughLine.Theta">
|
||
<summary>
|
||
Line's slope - angle between polar axis and line's radius (normal going
|
||
from pole to the line). Measured in degrees, [0, 180).
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.HoughLine.Radius">
|
||
<summary>
|
||
Line's distance from image center, (−∞, +∞).
|
||
</summary>
|
||
|
||
<remarks><note>Negative line's radius means, that the line resides in lower
|
||
part of the polar coordinates system. This means that <see cref="F:AForge.Imaging.HoughLine.Theta"/> value
|
||
should be increased by 180 degrees and radius should be made positive.
|
||
</note></remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.HoughLine.Intensity">
|
||
<summary>
|
||
Line's absolute intensity, (0, +∞).
|
||
</summary>
|
||
|
||
<remarks><para>Line's absolute intensity is a measure, which equals
|
||
to number of pixels detected on the line. This value is bigger for longer
|
||
lines.</para>
|
||
|
||
<para><note>The value may not be 100% reliable to measure exact number of pixels
|
||
on the line. Although these value correlate a lot (which means they are very close
|
||
in most cases), the intensity value may slightly vary.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.HoughLine.RelativeIntensity">
|
||
<summary>
|
||
Line's relative intensity, (0, 1].
|
||
</summary>
|
||
|
||
<remarks><para>Line's relative intensity is relation of line's <see cref="F:AForge.Imaging.HoughLine.Intensity"/>
|
||
value to maximum found intensity. For the longest line (line with highest intesity) the
|
||
relative intensity is set to 1. If line's relative is set 0.5, for example, this means
|
||
its intensity is half of maximum found intensity.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLine.#ctor(System.Double,System.Int16,System.Int16,System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.HoughLine"/> class.
|
||
</summary>
|
||
|
||
<param name="theta">Line's slope.</param>
|
||
<param name="radius">Line's distance from image center.</param>
|
||
<param name="intensity">Line's absolute intensity.</param>
|
||
<param name="relativeIntensity">Line's relative intensity.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLine.CompareTo(System.Object)">
|
||
<summary>
|
||
Compare the object with another instance of this class.
|
||
</summary>
|
||
|
||
<param name="value">Object to compare with.</param>
|
||
|
||
<returns><para>A signed number indicating the relative values of this instance and <b>value</b>: 1) greater than zero -
|
||
this instance is greater than <b>value</b>; 2) zero - this instance is equal to <b>value</b>;
|
||
3) greater than zero - this instance is less than <b>value</b>.</para>
|
||
|
||
<para><note>The sort order is descending.</note></para></returns>
|
||
|
||
<remarks>
|
||
<para><note>Object are compared using their <see cref="F:AForge.Imaging.HoughLine.Intensity">intensity</see> value.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.HoughLineTransformation">
|
||
<summary>
|
||
Hough line transformation.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements Hough line transformation, which allows to detect
|
||
straight lines in an image. Lines, which are found by the class, are provided in
|
||
<a href="http://en.wikipedia.org/wiki/Polar_coordinate_system">polar coordinates system</a> -
|
||
lines' distances from image's center and lines' slopes are provided.
|
||
The pole of polar coordinates system is put into processing image's center and the polar
|
||
axis is directed to the right from the pole. Lines' slope is measured in degrees and
|
||
is actually represented by angle between polar axis and line's radius (normal going
|
||
from pole to the line), which is measured in counter-clockwise direction.
|
||
</para>
|
||
|
||
<para><note>Found lines may have negative <see cref="F:AForge.Imaging.HoughLine.Radius">radius</see>.
|
||
This means, that the line resides in lower part of the polar coordinates system
|
||
and its <see cref="F:AForge.Imaging.HoughLine.Theta"/> value should be increased by 180 degrees and
|
||
radius should be made positive.
|
||
</note></para>
|
||
|
||
<para>The class accepts binary images for processing, which are represented by 8 bpp grayscale images.
|
||
All black pixels (0 pixel's value) are treated as background, but pixels with different value are
|
||
treated as lines' pixels.</para>
|
||
|
||
<para>See also documentation to <see cref="T:AForge.Imaging.HoughLine"/> class for additional information
|
||
about Hough Lines.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
HoughLineTransformation lineTransform = new HoughLineTransformation( );
|
||
// apply Hough line transofrm
|
||
lineTransform.ProcessImage( sourceImage );
|
||
Bitmap houghLineImage = lineTransform.ToBitmap( );
|
||
// get lines using relative intensity
|
||
HoughLine[] lines = lineTransform.GetLinesByRelativeIntensity( 0.5 );
|
||
|
||
foreach ( HoughLine line in lines )
|
||
{
|
||
// ...
|
||
}
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample8.jpg" width="400" height="300"/>
|
||
<para><b>Hough line transformation image:</b></para>
|
||
<img src="img/imaging/hough_lines.jpg" width="500" height="180"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.HoughLine"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLineTransformation.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.HoughLineTransformation"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLineTransformation.ProcessImage(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Process an image building Hough map.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLineTransformation.ProcessImage(System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process an image building Hough map.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
<param name="rect">Image's rectangle to process.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLineTransformation.ProcessImage(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Process an image building Hough map.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to process.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLineTransformation.ProcessImage(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process an image building Hough map.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to process.</param>
|
||
<param name="rect">Image's rectangle to process.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLineTransformation.ProcessImage(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process an image building Hough map.
|
||
</summary>
|
||
|
||
<param name="image">Source unmanaged image to process.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLineTransformation.ProcessImage(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process an image building Hough map.
|
||
</summary>
|
||
|
||
<param name="image">Source unmanaged image to process.</param>
|
||
<param name="rect">Image's rectangle to process.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLineTransformation.ToBitmap">
|
||
<summary>
|
||
Convert Hough map to bitmap.
|
||
</summary>
|
||
|
||
<returns>Returns 8 bppp grayscale bitmap, which shows Hough map.</returns>
|
||
|
||
<exception cref="T:System.ApplicationException">Hough transformation was not yet done by calling
|
||
ProcessImage() method.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLineTransformation.GetMostIntensiveLines(System.Int32)">
|
||
<summary>
|
||
Get specified amount of lines with highest <see cref="F:AForge.Imaging.HoughLine.Intensity">intensity</see>.
|
||
</summary>
|
||
|
||
<param name="count">Amount of lines to get.</param>
|
||
|
||
<returns>Returns array of most intesive lines. If there are no lines detected,
|
||
the returned array has zero length.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughLineTransformation.GetLinesByRelativeIntensity(System.Double)">
|
||
<summary>
|
||
Get lines with <see cref="F:AForge.Imaging.HoughLine.RelativeIntensity">relative intensity</see> higher then specified value.
|
||
</summary>
|
||
|
||
<param name="minRelativeIntensity">Minimum relative intesity of lines.</param>
|
||
|
||
<returns>Returns array of lines. If there are no lines detected,
|
||
the returned array has zero length.</returns>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HoughLineTransformation.StepsPerDegree">
|
||
<summary>
|
||
Steps per degree.
|
||
</summary>
|
||
|
||
<remarks><para>The value defines quality of Hough line transformation and its ability to detect
|
||
lines' slope precisely.</para>
|
||
|
||
<para>Default value is set to <b>1</b>. Minimum value is <b>1</b>. Maximum value is <b>10</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HoughLineTransformation.MinLineIntensity">
|
||
<summary>
|
||
Minimum <see cref="F:AForge.Imaging.HoughLine.Intensity">line's intensity</see> in Hough map to recognize a line.
|
||
</summary>
|
||
|
||
<remarks><para>The value sets minimum intensity level for a line. If a value in Hough
|
||
map has lower intensity, then it is not treated as a line.</para>
|
||
|
||
<para>Default value is set to <b>10</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HoughLineTransformation.LocalPeakRadius">
|
||
<summary>
|
||
Radius for searching local peak value.
|
||
</summary>
|
||
|
||
<remarks><para>The value determines radius around a map's value, which is analyzed to determine
|
||
if the map's value is a local maximum in specified area.</para>
|
||
|
||
<para>Default value is set to <b>4</b>. Minimum value is <b>1</b>. Maximum value is <b>10</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HoughLineTransformation.MaxIntensity">
|
||
<summary>
|
||
Maximum found <see cref="F:AForge.Imaging.HoughLine.Intensity">intensity</see> in Hough map.
|
||
</summary>
|
||
|
||
<remarks><para>The property provides maximum found line's intensity.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HoughLineTransformation.LinesCount">
|
||
<summary>
|
||
Found lines count.
|
||
</summary>
|
||
|
||
<remarks><para>The property provides total number of found lines, which intensity is higher (or equal to),
|
||
than the requested <see cref="P:AForge.Imaging.HoughLineTransformation.MinLineIntensity">minimum intensity</see>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.SimpleQuadrilateralTransformation">
|
||
<summary>
|
||
Performs quadrilateral transformation of an area in the source image.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements simple algorithm described by
|
||
<a href="http://www.codeguru.com/forum/showpost.php?p=1186454&postcount=2">Olivier Thill</a>
|
||
for transforming quadrilateral area from a source image into rectangular image.
|
||
The idea of the algorithm is based on finding for each line of destination
|
||
rectangular image a corresponding line connecting "left" and "right" sides of
|
||
quadrilateral in a source image. Then the line is linearly transformed into the
|
||
line in destination image.</para>
|
||
|
||
<para><note>Due to simplicity of the algorithm it does not do any correction for perspective.
|
||
</note></para>
|
||
|
||
<para><note>To make sure the algorithm works correctly, it is preferred if the
|
||
"left-top" corner of the quadrilateral (screen coordinates system) is
|
||
specified first in the list of quadrilateral's corners. At least
|
||
user need to make sure that the "left" side (side connecting first and the last
|
||
corner) and the "right" side (side connecting second and third corners) are
|
||
not horizontal.</note></para>
|
||
|
||
<para>Use <see cref="T:AForge.Imaging.Filters.QuadrilateralTransformation"/> to avoid the above mentioned limitations,
|
||
which is a more advanced quadrilateral transformation algorithms (although a bit more
|
||
computationally expensive).</para>
|
||
|
||
<para>The image processing filter accepts 8 grayscale images and 24/32 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// define quadrilateral's corners
|
||
List<IntPoint> corners = new List<IntPoint>( );
|
||
corners.Add( new IntPoint( 99, 99 ) );
|
||
corners.Add( new IntPoint( 156, 79 ) );
|
||
corners.Add( new IntPoint( 184, 126 ) );
|
||
corners.Add( new IntPoint( 122, 150 ) );
|
||
// create filter
|
||
SimpleQuadrilateralTransformation filter =
|
||
new SimpleQuadrilateralTransformation( corners, 200, 200 );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample18.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/quadrilateral_bilinear.png" width="200" height="200"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.QuadrilateralTransformation"/>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.newWidth">
|
||
<summary>
|
||
New image width.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.newHeight">
|
||
<summary>
|
||
New image height.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SimpleQuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.#ctor(System.Collections.Generic.List{AForge.IntPoint},System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SimpleQuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceQuadrilateral">Corners of the source quadrilateral area.</param>
|
||
<param name="newWidth">Width of the new transformed image.</param>
|
||
<param name="newHeight">Height of the new transformed image.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.AutomaticSizeCalculaton"/> to
|
||
<see langword="false"/>, which means that destination image will have width and
|
||
height as specified by user.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.#ctor(System.Collections.Generic.List{AForge.IntPoint})">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SimpleQuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceQuadrilateral">Corners of the source quadrilateral area.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.AutomaticSizeCalculaton"/> to
|
||
<see langword="true"/>, which means that destination image will have width and
|
||
height automatically calculated based on <see cref="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.SourceQuadrilateral"/> property.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
<exception cref="T:System.NullReferenceException">Source quadrilateral was not set.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.AutomaticSizeCalculaton">
|
||
<summary>
|
||
Automatic calculation of destination image or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies how to calculate size of destination (transformed)
|
||
image. If the property is set to <see langword="false"/>, then <see cref="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.NewWidth"/>
|
||
and <see cref="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.NewHeight"/> properties have effect and destination image's size is
|
||
specified by user. If the property is set to <see langword="true"/>, then setting the above
|
||
mentioned properties does not have any effect, but destionation image's size is
|
||
automatically calculated from <see cref="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.SourceQuadrilateral"/> property - width and height
|
||
come from length of longest edges.
|
||
</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.SourceQuadrilateral">
|
||
<summary>
|
||
Quadrilateral's corners in source image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies four corners of the quadrilateral area
|
||
in the source image to be transformed.</para>
|
||
|
||
<para>See documentation to the <see cref="T:AForge.Imaging.Filters.SimpleQuadrilateralTransformation"/>
|
||
class itself for additional information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.NewWidth">
|
||
<summary>
|
||
Width of the new transformed image.
|
||
</summary>
|
||
|
||
<remarks><para>The property defines width of the destination image, which gets
|
||
transformed quadrilateral image.</para>
|
||
|
||
<para><note>Setting the property does not have any effect, if <see cref="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.AutomaticSizeCalculaton"/>
|
||
property is set to <see langword="true"/>. In this case destination image's width
|
||
is calculated automatically based on <see cref="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.SourceQuadrilateral"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.NewHeight">
|
||
<summary>
|
||
Height of the new transformed image.
|
||
</summary>
|
||
|
||
<remarks><para>The property defines height of the destination image, which gets
|
||
transformed quadrilateral image.</para>
|
||
|
||
<para><note>Setting the property does not have any effect, if <see cref="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.AutomaticSizeCalculaton"/>
|
||
property is set to <see langword="true"/>. In this case destination image's height
|
||
is calculated automatically based on <see cref="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.SourceQuadrilateral"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimpleQuadrilateralTransformation.UseInterpolation">
|
||
<summary>
|
||
Specifies if bilinear interpolation should be used or not.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see langword="true"/> - interpolation
|
||
is used.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Texturer">
|
||
<summary>
|
||
Texturer filter.
|
||
</summary>
|
||
|
||
<remarks><para>Adjust pixels’ color values using factors from the given texture. In conjunction with different type
|
||
of texture generators, the filter may produce different type of interesting effects.</para>
|
||
|
||
<para>The filter uses specified texture to adjust values using the next formula:<br/>
|
||
<b>dst = src * <see cref="P:AForge.Imaging.Filters.Texturer.PreserveLevel"/> + src * <see cref="P:AForge.Imaging.Filters.Texturer.FilterLevel"/> * textureValue</b>,<br/>
|
||
where <b>src</b> is value of pixel in a source image, <b>dst</b> is value of pixel in a destination image and
|
||
<b>textureValue</b> is corresponding value from provided texture (see <see cref="P:AForge.Imaging.Filters.Texturer.TextureGenerator"/> or
|
||
<see cref="P:AForge.Imaging.Filters.Texturer.Texture"/>). Using <see cref="P:AForge.Imaging.Filters.Texturer.PreserveLevel"/> and <see cref="P:AForge.Imaging.Filters.Texturer.FilterLevel"/> values it is possible
|
||
to control the portion of source data affected by texture.
|
||
</para>
|
||
|
||
<para>In most cases the <see cref="P:AForge.Imaging.Filters.Texturer.PreserveLevel"/> and <see cref="P:AForge.Imaging.Filters.Texturer.FilterLevel"/> properties are set in such
|
||
way, that <see cref="P:AForge.Imaging.Filters.Texturer.PreserveLevel"/> + <see cref="P:AForge.Imaging.Filters.Texturer.FilterLevel"/> = <b>1</b>. But there is no limitations actually
|
||
for those values, so their sum may be as greater, as lower than 1 in order create different type of
|
||
effects.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Texturer filter = new Texturer( new TextileTexture( ), 0.3, 0.7 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/texturer.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Texturer.#ctor(System.Single[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Texturer"/> class.
|
||
</summary>
|
||
|
||
<param name="texture">Generated texture.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Texturer.#ctor(System.Single[0:,0:],System.Double,System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Texturer"/> class.
|
||
</summary>
|
||
|
||
<param name="texture">Generated texture.</param>
|
||
<param name="filterLevel">Filter level value (see <see cref="P:AForge.Imaging.Filters.Texturer.FilterLevel"/> property).</param>
|
||
<param name="preserveLevel">Preserve level value (see <see cref="P:AForge.Imaging.Filters.Texturer.PreserveLevel"/> property).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Texturer.#ctor(AForge.Imaging.Textures.ITextureGenerator)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Texturer"/> class.
|
||
</summary>
|
||
|
||
<param name="generator">Texture generator.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Texturer.#ctor(AForge.Imaging.Textures.ITextureGenerator,System.Double,System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Texturer"/> class.
|
||
</summary>
|
||
|
||
<param name="generator">Texture generator.</param>
|
||
<param name="filterLevel">Filter level value (see <see cref="P:AForge.Imaging.Filters.Texturer.FilterLevel"/> property).</param>
|
||
<param name="preserveLevel">Preserve level value (see <see cref="P:AForge.Imaging.Filters.Texturer.PreserveLevel"/> property).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Texturer.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Texturer.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Texturer.FilterLevel">
|
||
<summary>
|
||
Filter level value.
|
||
</summary>
|
||
|
||
<remarks><para>Filtering factor determines image fraction to filter - to multiply
|
||
by values from the provided texture.</para>
|
||
|
||
<para>Default value is set to <b>0.5</b>.</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.Texturer"/> class description for more details.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Texturer.PreserveLevel">
|
||
<summary>
|
||
Preserve level value.
|
||
</summary>
|
||
|
||
<remarks><para>Preserving factor determines image fraction to keep from filtering.</para>
|
||
|
||
<para>Default value is set to <b>0.5</b>.</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.Texturer"/> class description for more details.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Texturer.Texture">
|
||
<summary>
|
||
Generated texture.
|
||
</summary>
|
||
|
||
<remarks><para>Two dimensional array of texture intensities.</para>
|
||
|
||
<para><note>In the case if image passed to the filter is smaller or
|
||
larger than the specified texture, than image's region is processed, which equals to the
|
||
minimum overlapping area.</note></para>
|
||
|
||
<para><note>The <see cref="P:AForge.Imaging.Filters.Texturer.TextureGenerator"/> property has priority over this property - if
|
||
generator is specified than the static generated texture is not used.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Texturer.TextureGenerator">
|
||
<summary>
|
||
Texture generator.
|
||
</summary>
|
||
|
||
<remarks><para>Generator used to generate texture.</para>
|
||
|
||
<para><note>The property has priority over the <see cref="P:AForge.Imaging.Filters.Texturer.Texture"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.HSLLinear">
|
||
<summary>
|
||
Luminance and saturation linear correction.
|
||
</summary>
|
||
|
||
<remarks><para>The filter operates in <b>HSL</b> color space and provides
|
||
with the facility of luminance and saturation linear correction - mapping specified channels'
|
||
input ranges to specified output ranges.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
HSLLinear filter = new HSLLinear( );
|
||
// configure the filter
|
||
filter.InLuminance = new Range( 0, 0.85f );
|
||
filter.OutSaturation = new Range( 0.25f, 1 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/hsl_linear.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.LevelsLinear"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.YCbCrLinear"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HSLLinear.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HSLLinear"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HSLLinear.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLLinear.InLuminance">
|
||
<summary>
|
||
Luminance input range.
|
||
</summary>
|
||
|
||
<remarks>Luminance component is measured in the range of [0, 1].</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLLinear.OutLuminance">
|
||
<summary>
|
||
Luminance output range.
|
||
</summary>
|
||
|
||
<remarks>Luminance component is measured in the range of [0, 1].</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLLinear.InSaturation">
|
||
<summary>
|
||
Saturation input range.
|
||
</summary>
|
||
|
||
<remarks>Saturation component is measured in the range of [0, 1].</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLLinear.OutSaturation">
|
||
<summary>
|
||
Saturation output range.
|
||
</summary>
|
||
|
||
<remarks>Saturation component is measured in the range of [0, 1].</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLLinear.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Blur">
|
||
<summary>
|
||
Blur filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs <see cref="T:AForge.Imaging.Filters.Convolution">convolution filter</see> using
|
||
the blur kernel:</para>
|
||
|
||
<code lang="none">
|
||
1 2 3 2 1
|
||
2 4 5 4 2
|
||
3 5 6 5 3
|
||
2 4 5 4 2
|
||
1 2 3 2 1
|
||
</code>
|
||
|
||
<para>For the list of supported pixel formats, see the documentation to <see cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
filter.</para>
|
||
|
||
<para><note>By default this filter sets <see cref="P:AForge.Imaging.Filters.Convolution.ProcessAlpha"/> property to
|
||
<see langword="true"/>, so the alpha channel of 32 bpp and 64 bpp images is blurred as well.
|
||
</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Blur filter = new Blur( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/blur.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Blur.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Blur"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.SimplePosterization">
|
||
<summary>
|
||
Simple posterization of an image.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements simple <a href="http://en.wikipedia.org/wiki/Posterization">posterization</a> of an image by splitting
|
||
each color plane into adjacent areas of the <see cref="P:AForge.Imaging.Filters.SimplePosterization.PosterizationInterval">specified size</see>. After the process
|
||
is done, each color plane will contain maximum of 256/<see cref="P:AForge.Imaging.Filters.SimplePosterization.PosterizationInterval">PosterizationInterval</see> levels.
|
||
For example, if grayscale image is posterized with posterization interval equal to 64,
|
||
then result image will contain maximum of 4 tones. If color image is posterized with the
|
||
same posterization interval, then it will contain maximum of 4<sup>3</sup>=64 colors.
|
||
See <see cref="P:AForge.Imaging.Filters.SimplePosterization.FillingType"/> property to get information about the way how to control
|
||
color used to fill posterization areas.</para>
|
||
|
||
<para>Posterization is a process in photograph development which converts normal photographs
|
||
into an image consisting of distinct, but flat, areas of different tones or colors.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24/32 bpp color images.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
SimplePosterization filter = new SimplePosterization( );
|
||
// process image
|
||
filter.ApplyInPlace( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/posterization.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimplePosterization.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SimplePosterization"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimplePosterization.#ctor(AForge.Imaging.Filters.SimplePosterization.PosterizationFillingType)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SimplePosterization"/> class.
|
||
</summary>
|
||
|
||
<param name="fillingType">Specifies <see cref="P:AForge.Imaging.Filters.SimplePosterization.FillingType">filling type</see> of posterization areas.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SimplePosterization.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimplePosterization.PosterizationInterval">
|
||
<summary>
|
||
Posterization interval, which specifies size of posterization areas.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies size of adjacent posterization areas
|
||
for each color plane. The value has direct effect on the amount of colors
|
||
in the result image. For example, if grayscale image is posterized with posterization
|
||
interval equal to 64, then result image will contain maximum of 4 tones. If color
|
||
image is posterized with same posterization interval, then it will contain maximum
|
||
of 4<sup>3</sup>=64 colors.</para>
|
||
|
||
<para>Default value is set to <b>64</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimplePosterization.FillingType">
|
||
<summary>
|
||
Posterization filling type.
|
||
</summary>
|
||
|
||
<remarks><para>The property controls the color, which is used to substitute
|
||
colors within the same posterization interval - minimum, maximum or average value.
|
||
</para>
|
||
|
||
<para>Default value is set to <see cref="F:AForge.Imaging.Filters.SimplePosterization.PosterizationFillingType.Average"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SimplePosterization.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.SimplePosterization.PosterizationFillingType">
|
||
<summary>
|
||
Enumeration of possible types of filling posterized areas.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.SimplePosterization.PosterizationFillingType.Min">
|
||
<summary>
|
||
Fill area with minimum color's value.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.SimplePosterization.PosterizationFillingType.Max">
|
||
<summary>
|
||
Fill area with maximum color's value.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.SimplePosterization.PosterizationFillingType.Average">
|
||
<summary>
|
||
Fill area with average color's value.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.JarvisJudiceNinkeDithering">
|
||
<summary>
|
||
Dithering using Jarvis, Judice and Ninke error diffusion.
|
||
</summary>
|
||
|
||
<remarks><para>The filter represents binarization filter, which is based on
|
||
error diffusion dithering with Jarvis-Judice-Ninke coefficients. Error is diffused
|
||
on 12 neighbor pixels with next coefficients:</para>
|
||
<code lang="none">
|
||
| * | 7 | 5 |
|
||
| 3 | 5 | 7 | 5 | 3 |
|
||
| 1 | 3 | 5 | 3 | 1 |
|
||
|
||
/ 48
|
||
</code>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
JarvisJudiceNinkeDithering filter = new JarvisJudiceNinkeDithering( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/grayscale.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/jarvis_judice_ninke.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.BurkesDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.FloydSteinbergDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.SierraDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.StuckiDithering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.JarvisJudiceNinkeDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.JarvisJudiceNinkeDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.MedianCutQuantizer">
|
||
<summary>
|
||
Median cut color quantization algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements <a href="http://en.wikipedia.org/wiki/Median_cut">median cut</a>
|
||
<a href="http://en.wikipedia.org/wiki/Median_cut">color quantization</a> algorithm.</para>
|
||
|
||
<para>See also <see cref="T:AForge.Imaging.ColorReduction.ColorImageQuantizer"/> class, which may simplify processing of images.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create the color quantization algorithm
|
||
IColorQuantizer quantizer = new MedianCutQuantizer( );
|
||
// process colors (taken from image for example)
|
||
for ( int i = 0; i < pixelsToProcess; i++ )
|
||
{
|
||
quantizer.AddColor( /* pixel color */ );
|
||
}
|
||
// get palette reduced to 16 colors
|
||
Color[] palette = quantizer.GetPalette( 16 );
|
||
</code>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.ColorImageQuantizer"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.MedianCutQuantizer.AddColor(System.Drawing.Color)">
|
||
<summary>
|
||
Add color to the list of processed colors.
|
||
</summary>
|
||
|
||
<param name="color">Color to add to the internal list.</param>
|
||
|
||
<remarks><para>The method adds the specified color into internal list of processed colors. The list
|
||
is used later by <see cref="M:AForge.Imaging.ColorReduction.MedianCutQuantizer.GetPalette(System.Int32)"/> method to build reduced color table of the specified size.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.MedianCutQuantizer.GetPalette(System.Int32)">
|
||
<summary>
|
||
Get paletter of the specified size.
|
||
</summary>
|
||
|
||
<param name="colorCount">Palette size to get.</param>
|
||
|
||
<returns>Returns reduced palette of the specified size, which covers colors processed so far.</returns>
|
||
|
||
<remarks><para>The method must be called after continuously calling <see cref="M:AForge.Imaging.ColorReduction.MedianCutQuantizer.AddColor(System.Drawing.Color)"/> method and
|
||
returns reduced color palette for colors accumulated/processed so far.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.MedianCutQuantizer.Clear">
|
||
<summary>
|
||
Clear internal state of the color quantization algorithm by clearing the list of colors
|
||
so far processed.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Textures.LabyrinthTexture">
|
||
<summary>
|
||
Labirinth texture.
|
||
</summary>
|
||
|
||
<remarks><para>The texture generator creates textures with effect of labyrinth.</para>
|
||
|
||
<para>The generator is based on the <see cref="T:AForge.Math.PerlinNoise">Perlin noise function</see>.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create texture generator
|
||
LabyrinthTexture textureGenerator = new LabyrinthTexture( );
|
||
// generate new texture
|
||
float[,] texture = textureGenerator.Generate( 320, 240 );
|
||
// convert it to image to visualize
|
||
Bitmap textureImage = TextureTools.ToBitmap( texture );
|
||
</code>
|
||
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/labyrinth_texture.jpg" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.LabyrinthTexture.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Textures.LabyrinthTexture"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.LabyrinthTexture.Generate(System.Int32,System.Int32)">
|
||
<summary>
|
||
Generate texture.
|
||
</summary>
|
||
|
||
<param name="width">Texture's width.</param>
|
||
<param name="height">Texture's height.</param>
|
||
|
||
<returns>Two dimensional array of intensities.</returns>
|
||
|
||
<remarks>Generates new texture of the specified size.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.LabyrinthTexture.Reset">
|
||
<summary>
|
||
Reset generator.
|
||
</summary>
|
||
|
||
<remarks>Regenerates internal random numbers.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ITemplateMatching">
|
||
<summary>
|
||
Template matching algorithm's interface.
|
||
</summary>
|
||
|
||
<remarks><para>The interface specifies set of methods, which should be implemented by different
|
||
template matching algorithms - algorithms, which search for the given template in specified
|
||
image.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ITemplateMatching.ProcessImage(System.Drawing.Bitmap,System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process image looking for matchings with specified template.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
<param name="template">Template image to search for.</param>
|
||
<param name="searchZone">Rectangle in source image to search template for.</param>
|
||
|
||
<returns>Returns array of found matchings.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ITemplateMatching.ProcessImage(System.Drawing.Imaging.BitmapData,System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process image looking for matchings with specified template.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to process.</param>
|
||
<param name="templateData">Template image to search for.</param>
|
||
<param name="searchZone">Rectangle in source image to search template for.</param>
|
||
|
||
<returns>Returns array of found matchings.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ITemplateMatching.ProcessImage(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process image looking for matchings with specified template.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged source image to process.</param>
|
||
<param name="template">Unmanaged template image to search for.</param>
|
||
<param name="searchZone">Rectangle in source image to search template for.</param>
|
||
|
||
<returns>Returns array of found matchings.</returns>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.YCbCrReplaceChannel">
|
||
<summary>
|
||
Replace channel of YCbCr color space.
|
||
</summary>
|
||
|
||
<remarks><para>Replaces specified YCbCr channel of color image with
|
||
specified grayscale imge.</para>
|
||
|
||
<para>The filter is quite useful in conjunction with <see cref="T:AForge.Imaging.Filters.YCbCrExtractChannel"/> filter
|
||
(however may be used alone in some cases). Using the <see cref="T:AForge.Imaging.Filters.YCbCrExtractChannel"/> filter
|
||
it is possible to extract one of YCbCr channel, perform some image processing with it and then
|
||
put it back into the original color image.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create YCbCrExtractChannel filter for channel extracting
|
||
YCbCrExtractChannel extractFilter = new YCbCrExtractChannel(
|
||
YCbCr.CbIndex );
|
||
// extract Cb channel
|
||
Bitmap cbChannel = extractFilter.Apply( image );
|
||
// invert the channel
|
||
Invert invertFilter = new Invert( );
|
||
invertFilter.ApplyInPlace( cbChannel );
|
||
// put the channel back into the source image
|
||
YCbCrReplaceChannel replaceFilter = new YCbCrReplaceChannel(
|
||
YCbCr.CbIndex, cbChannel );
|
||
replaceFilter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/ycbcr_replace_channel.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.YCbCrExtractChannel"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrReplaceChannel.#ctor(System.Int16,System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.YCbCrReplaceChannel"/> class.
|
||
</summary>
|
||
|
||
<param name="channel">YCbCr channel to replace.</param>
|
||
<param name="channelImage">Channel image to use for replacement.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrReplaceChannel.#ctor(System.Int16,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.YCbCrReplaceChannel"/> class.
|
||
</summary>
|
||
|
||
<param name="channel">YCbCr channel to replace.</param>
|
||
<param name="channelImage">Unmanaged channel image to use for replacement.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrReplaceChannel.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Channel image size does not match source
|
||
image size.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrReplaceChannel.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrReplaceChannel.Channel">
|
||
<summary>
|
||
YCbCr channel to replace.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see cref="F:AForge.Imaging.YCbCr.YIndex"/> (Y channel).</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid channel was specified.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrReplaceChannel.ChannelImage">
|
||
<summary>
|
||
Grayscale image to use for channel replacement.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.YCbCrReplaceChannel.UnmanagedChannelImage"/> property -
|
||
only one channel image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Channel image should be 8bpp indexed image (grayscale).</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrReplaceChannel.UnmanagedChannelImage">
|
||
<summary>
|
||
Unmanaged grayscale image to use for channel replacement.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.YCbCrReplaceChannel.ChannelImage"/> property -
|
||
only one channel image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Channel image should be 8bpp indexed image (grayscale).</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.AdaptiveSmoothing">
|
||
<summary>
|
||
Adaptive Smoothing - noise removal with edges preserving.
|
||
</summary>
|
||
|
||
<remarks><para>The filter is aimed to perform image smoothing, but keeping sharp edges.
|
||
This makes it applicable to additive noise removal and smoothing objects' interiors, but
|
||
not applicable for spikes (salt and pepper noise) removal.</para>
|
||
|
||
<para>The next calculations are done for each pixel:
|
||
<list type="bullet">
|
||
<item>weights are calculate for 9 pixels - pixel itself and 8 neighbors:
|
||
<code lang="none">
|
||
w(x, y) = exp( -1 * (Gx^2 + Gy^2) / (2 * factor^2) )
|
||
Gx(x, y) = (I(x + 1, y) - I(x - 1, y)) / 2
|
||
Gy(x, y) = (I(x, y + 1) - I(x, y - 1)) / 2
|
||
</code>,
|
||
where <see cref="P:AForge.Imaging.Filters.AdaptiveSmoothing.Factor">factor</see> is a configurable value determining smoothing's quality.</item>
|
||
<item>sum of 9 weights is calclated (weightTotal);</item>
|
||
<item>sum of 9 weighted pixel values is calculatd (total);</item>
|
||
<item>destination pixel is calculated as <b>total / weightTotal</b>.</item>
|
||
</list></para>
|
||
|
||
<para>Description of the filter was found in <b>"An Edge Detection Technique Using
|
||
the Facet Model and Parameterized Relaxation Labeling" by Ioannis Matalas, Student Member,
|
||
IEEE, Ralph Benjamin, and Richard Kitney</b>.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
AdaptiveSmoothing filter = new AdaptiveSmoothing( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample13.png" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/adaptive_smooth.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.AdaptiveSmoothing.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.AdaptiveSmoothing"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.AdaptiveSmoothing.#ctor(System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.AdaptiveSmoothing"/> class.
|
||
</summary>
|
||
|
||
<param name="factor">Factor value.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.AdaptiveSmoothing.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.AdaptiveSmoothing.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.AdaptiveSmoothing.Factor">
|
||
<summary>
|
||
Factor value.
|
||
</summary>
|
||
|
||
<remarks><para>Factor determining smoothing quality (see <see cref="T:AForge.Imaging.Filters.AdaptiveSmoothing"/>
|
||
documentation).</para>
|
||
|
||
<para>Default value is set to <b>3</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BlobsFiltering">
|
||
<summary>
|
||
Blobs filtering by size.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs filtering of blobs by their size in the specified
|
||
source image - all blobs, which are smaller or bigger then specified limits, are
|
||
removed from the image.</para>
|
||
|
||
<para><note>The image processing filter treats all none black pixels as objects'
|
||
pixels and all black pixel as background.</note></para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
BlobsFiltering filter = new BlobsFiltering( );
|
||
// configure filter
|
||
filter.CoupledSizeFiltering = true;
|
||
filter.MinWidth = 70;
|
||
filter.MinHeight = 70;
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample2.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/blobs_filtering.jpg" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.BlobCounter"/>
|
||
<seealso cref="T:AForge.Imaging.BlobCounterBase"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BlobsFiltering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BlobsFiltering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BlobsFiltering.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BlobsFiltering"/> class.
|
||
</summary>
|
||
|
||
<param name="minWidth">Minimum allowed width of blob.</param>
|
||
<param name="minHeight">Minimum allowed height of blob.</param>
|
||
<param name="maxWidth">Maximum allowed width of blob.</param>
|
||
<param name="maxHeight">Maximum allowed height of blob.</param>
|
||
|
||
<remarks>This constructor creates an instance of <see cref="T:AForge.Imaging.Filters.BlobsFiltering"/> class
|
||
with <see cref="P:AForge.Imaging.Filters.BlobsFiltering.CoupledSizeFiltering"/> property set to <b>false</b>.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BlobsFiltering.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BlobsFiltering"/> class.
|
||
</summary>
|
||
|
||
<param name="minWidth">Minimum allowed width of blob.</param>
|
||
<param name="minHeight">Minimum allowed height of blob.</param>
|
||
<param name="maxWidth">Maximum allowed width of blob.</param>
|
||
<param name="maxHeight">Maximum allowed height of blob.</param>
|
||
<param name="coupledSizeFiltering">Specifies if size filetering should be coupled or not.</param>
|
||
|
||
<remarks><para>For information about coupled filtering mode see documentation for
|
||
<see cref="P:AForge.Imaging.BlobCounterBase.CoupledSizeFiltering"/> property of <see cref="T:AForge.Imaging.BlobCounterBase"/>
|
||
class.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BlobsFiltering.#ctor(AForge.Imaging.IBlobsFilter)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BlobsFiltering"/> class.
|
||
</summary>
|
||
|
||
<param name="blobsFilter">Custom blobs' filtering routine to use
|
||
(see <see cref="P:AForge.Imaging.BlobCounterBase.BlobsFilter"/>).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BlobsFiltering.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BlobsFiltering.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BlobsFiltering.CoupledSizeFiltering">
|
||
<summary>
|
||
Specifies if size filetering should be coupled or not.
|
||
</summary>
|
||
|
||
<remarks><para>See documentation for <see cref="P:AForge.Imaging.BlobCounterBase.CoupledSizeFiltering"/> property
|
||
of <see cref="T:AForge.Imaging.BlobCounterBase"/> class for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BlobsFiltering.MinWidth">
|
||
<summary>
|
||
Minimum allowed width of blob.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BlobsFiltering.MinHeight">
|
||
<summary>
|
||
Minimum allowed height of blob.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BlobsFiltering.MaxWidth">
|
||
<summary>
|
||
Maximum allowed width of blob.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BlobsFiltering.MaxHeight">
|
||
<summary>
|
||
Maximum allowed height of blob.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BlobsFiltering.BlobsFilter">
|
||
<summary>
|
||
Custom blobs' filter to use.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.BlobCounterBase.BlobsFilter"/> for information
|
||
about custom blobs' filtering routine.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.HitAndMiss">
|
||
<summary>
|
||
Hit-And-Miss operator from Mathematical Morphology.
|
||
</summary>
|
||
|
||
<remarks><para>The hit-and-miss filter represents generalization of <see cref="T:AForge.Imaging.Filters.Erosion"/>
|
||
and <see cref="T:AForge.Imaging.Filters.Dilatation"/> filters by extending flexibility of structuring element and
|
||
providing different modes of its work. Structuring element may contain:
|
||
<list type="bullet">
|
||
<item>1 - foreground;</item>
|
||
<item>0 - background;</item>
|
||
<item>-1 - don't care.</item>
|
||
</list>
|
||
</para>
|
||
|
||
<para>Filter's mode is set by <see cref="P:AForge.Imaging.Filters.HitAndMiss.Mode"/> property. The list of modes and its
|
||
documentation may be found in <see cref="T:AForge.Imaging.Filters.HitAndMiss.Modes"/> enumeration.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing. <b>Note</b>: grayscale images are treated
|
||
as binary with 0 value equals to black and 255 value equals to white.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// define kernel to remove pixels on the right side of objects
|
||
// (pixel is removed, if there is white pixel on the left and
|
||
// black pixel on the right)
|
||
short[,] se = new short[,] {
|
||
{ -1, -1, -1 },
|
||
{ 1, 1, 0 },
|
||
{ -1, -1, -1 }
|
||
};
|
||
// create filter
|
||
HitAndMiss filter = new HitAndMiss( se, HitAndMiss.Modes.Thinning );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample12.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/hit-and-miss.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HitAndMiss.#ctor(System.Int16[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HitAndMiss"/> class.
|
||
</summary>
|
||
|
||
<param name="se">Structuring element.</param>
|
||
|
||
<remarks><para>Structuring elemement for the hit-and-miss morphological operator
|
||
must be square matrix with odd size in the range of [3, 99].</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid size of structuring element.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HitAndMiss.#ctor(System.Int16[0:,0:],AForge.Imaging.Filters.HitAndMiss.Modes)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HitAndMiss"/> class.
|
||
</summary>
|
||
|
||
<param name="se">Structuring element.</param>
|
||
<param name="mode">Operation mode.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HitAndMiss.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HitAndMiss.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HitAndMiss.Mode">
|
||
<summary>
|
||
Operation mode.
|
||
</summary>
|
||
|
||
<remarks><para>Mode to use for the filter. See <see cref="T:AForge.Imaging.Filters.HitAndMiss.Modes"/> enumeration
|
||
for the list of available modes and their documentation.</para>
|
||
|
||
<para>Default mode is set to <see cref="F:AForge.Imaging.Filters.HitAndMiss.Modes.HitAndMiss"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.HitAndMiss.Modes">
|
||
<summary>
|
||
Hit and Miss modes.
|
||
</summary>
|
||
|
||
<remarks><para>Bellow is a list of modes meaning depending on pixel's correspondence
|
||
to specified structuring element:
|
||
<list type="bullet">
|
||
<item><see cref="F:AForge.Imaging.Filters.HitAndMiss.Modes.HitAndMiss"/> - on match pixel is set to white, otherwise to black;</item>
|
||
<item><see cref="F:AForge.Imaging.Filters.HitAndMiss.Modes.Thinning"/> - on match pixel is set to black, otherwise not changed.</item>
|
||
<item><see cref="F:AForge.Imaging.Filters.HitAndMiss.Modes.Thickening"/> - on match pixel is set to white, otherwise not changed.</item>
|
||
</list>
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.HitAndMiss.Modes.HitAndMiss">
|
||
<summary>
|
||
Hit and miss mode.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.HitAndMiss.Modes.Thinning">
|
||
<summary>
|
||
Thinning mode.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.HitAndMiss.Modes.Thickening">
|
||
<summary>
|
||
Thickening mode.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.HomogenityEdgeDetector">
|
||
<summary>
|
||
Homogenity edge detector.
|
||
</summary>
|
||
|
||
<remarks><para>The filter finds objects' edges by calculating maximum difference
|
||
of processing pixel with neighboring pixels in 8 direction.</para>
|
||
|
||
<para>Suppose 3x3 square element of the source image (x - is currently processed
|
||
pixel):
|
||
<code lang="none">
|
||
P1 P2 P3
|
||
P8 x P4
|
||
P7 P6 P5
|
||
</code>
|
||
The corresponding pixel of the result image equals to:
|
||
<code lang="none">
|
||
max( |x-P1|, |x-P2|, |x-P3|, |x-P4|,
|
||
|x-P5|, |x-P6|, |x-P7|, |x-P8| )
|
||
</code>
|
||
</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
HomogenityEdgeDetector filter = new HomogenityEdgeDetector( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample2.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/homogenity_edges.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.DifferenceEdgeDetector"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.SobelEdgeDetector"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HomogenityEdgeDetector.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HomogenityEdgeDetector"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HomogenityEdgeDetector.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HomogenityEdgeDetector.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.GaussianSharpen">
|
||
<summary>
|
||
Gaussian sharpen filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs <see cref="T:AForge.Imaging.Filters.Convolution">convolution filter</see> using
|
||
the kernel, which is calculate with the help of <see cref="M:AForge.Math.Gaussian.Kernel2D(System.Int32)"/>
|
||
method and then converted to integer sharpening kernel. First of all the integer kernel
|
||
is calculated from <see cref="M:AForge.Math.Gaussian.Kernel2D(System.Int32)"/> by dividing all elements by
|
||
the element with the smallest value. Then the integer kernel is converted to sharpen kernel by
|
||
negating all kernel's elements (multiplying with <b>-1</b>), but the central kernel's element
|
||
is calculated as <b>2 * sum - centralElement</b>, where <b>sum</b> is the sum off elements
|
||
in the integer kernel before negating.</para>
|
||
|
||
<para>For the list of supported pixel formats, see the documentation to <see cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
filter.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter with kernel size equal to 11
|
||
// and Gaussia sigma value equal to 4.0
|
||
GaussianSharpen filter = new GaussianSharpen( 4, 11 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/gaussian_sharpen.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GaussianSharpen.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GaussianSharpen"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GaussianSharpen.#ctor(System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GaussianSharpen"/> class.
|
||
</summary>
|
||
|
||
<param name="sigma">Gaussian sigma value.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GaussianSharpen.#ctor(System.Double,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GaussianSharpen"/> class.
|
||
</summary>
|
||
|
||
<param name="sigma">Gaussian sigma value.</param>
|
||
<param name="size">Kernel size.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.GaussianSharpen.Sigma">
|
||
<summary>
|
||
Gaussian sigma value, [0.5, 5.0].
|
||
</summary>
|
||
|
||
<remarks><para>Sigma value for Gaussian function used to calculate
|
||
the kernel.</para>
|
||
|
||
<para>Default value is set to <b>1.4</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.GaussianSharpen.Size">
|
||
<summary>
|
||
Kernel size, [3, 5].
|
||
</summary>
|
||
|
||
<remarks><para>Size of Gaussian kernel.</para>
|
||
|
||
<para>Default value is set to <b>5</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Merge">
|
||
<summary>
|
||
Merge filter - get MAX of pixels in two images.
|
||
</summary>
|
||
|
||
<remarks><para>The merge filter takes two images (source and overlay images)
|
||
of the same size and pixel format and produces an image, where each pixel equals
|
||
to the maximum value of corresponding pixels from provided images.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24, 32, 48 and 64 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Merge filter = new Merge( overlayImage );
|
||
// apply the filter
|
||
Bitmap resultImage = filter.Apply( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample6.png" width="320" height="240"/>
|
||
<para><b>Overlay image:</b></para>
|
||
<img src="img/imaging/sample7.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/merge.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Intersect"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Difference"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Add"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Subtract"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Merge.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Merge"/> class
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Merge.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Merge"/> class.
|
||
</summary>
|
||
|
||
<param name="overlayImage">Overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Merge.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Merge"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedOverlayImage">Unmanaged overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Merge.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Merge.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.DocumentSkewChecker">
|
||
<summary>
|
||
Skew angle checker for scanned documents.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements document's skew checking algorithm, which is based
|
||
on <see cref="T:AForge.Imaging.HoughLineTransformation">Hough line transformation</see>. The algorithm
|
||
is based on searching for text base lines - black line of text bottoms' followed
|
||
by white line below.</para>
|
||
|
||
<para><note>The routine supposes that a white-background document is provided
|
||
with black letters. The algorithm is not supposed for any type of objects, but for
|
||
document images with text.</note></para>
|
||
|
||
<para>The range of angles to detect is controlled by <see cref="P:AForge.Imaging.DocumentSkewChecker.MaxSkewToDetect"/> property.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create instance of skew checker
|
||
DocumentSkewChecker skewChecker = new DocumentSkewChecker( );
|
||
// get documents skew angle
|
||
double angle = skewChecker.GetSkewAngle( documentImage );
|
||
// create rotation filter
|
||
RotateBilinear rotationFilter = new RotateBilinear( -angle );
|
||
rotationFilter.FillColor = Color.White;
|
||
// rotate image applying the filter
|
||
Bitmap rotatedImage = rotationFilter.Apply( documentImage );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample10.png" width="300" height="184"/>
|
||
<para><b>Deskewed image:</b></para>
|
||
<img src="img/imaging/deskew.png" width="335" height="250"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.HoughLineTransformation"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.DocumentSkewChecker.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.DocumentSkewChecker"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.DocumentSkewChecker.GetSkewAngle(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Get skew angle of the provided document image.
|
||
</summary>
|
||
|
||
<param name="image">Document's image to get skew angle of.</param>
|
||
|
||
<returns>Returns document's skew angle. If the returned angle equals to -90,
|
||
then document skew detection has failed.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.DocumentSkewChecker.GetSkewAngle(System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Get skew angle of the provided document image.
|
||
</summary>
|
||
|
||
<param name="image">Document's image to get skew angle of.</param>
|
||
<param name="rect">Image's rectangle to process (used to exclude processing of
|
||
regions, which are not relevant to skew detection).</param>
|
||
|
||
<returns>Returns document's skew angle. If the returned angle equals to -90,
|
||
then document skew detection has failed.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.DocumentSkewChecker.GetSkewAngle(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Get skew angle of the provided document image.
|
||
</summary>
|
||
|
||
<param name="imageData">Document's image data to get skew angle of.</param>
|
||
|
||
<returns>Returns document's skew angle. If the returned angle equals to -90,
|
||
then document skew detection has failed.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.DocumentSkewChecker.GetSkewAngle(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Get skew angle of the provided document image.
|
||
</summary>
|
||
|
||
<param name="imageData">Document's image data to get skew angle of.</param>
|
||
<param name="rect">Image's rectangle to process (used to exclude processing of
|
||
regions, which are not relevant to skew detection).</param>
|
||
|
||
<returns>Returns document's skew angle. If the returned angle equals to -90,
|
||
then document skew detection has failed.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.DocumentSkewChecker.GetSkewAngle(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Get skew angle of the provided document image.
|
||
</summary>
|
||
|
||
<param name="image">Document's unmanaged image to get skew angle of.</param>
|
||
|
||
<returns>Returns document's skew angle. If the returned angle equals to -90,
|
||
then document skew detection has failed.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.DocumentSkewChecker.GetSkewAngle(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Get skew angle of the provided document image.
|
||
</summary>
|
||
|
||
<param name="image">Document's unmanaged image to get skew angle of.</param>
|
||
<param name="rect">Image's rectangle to process (used to exclude processing of
|
||
regions, which are not relevant to skew detection).</param>
|
||
|
||
<returns>Returns document's skew angle. If the returned angle equals to -90,
|
||
then document skew detection has failed.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.DocumentSkewChecker.StepsPerDegree">
|
||
<summary>
|
||
Steps per degree, [1, 10].
|
||
</summary>
|
||
|
||
<remarks><para>The value defines quality of Hough transform and its ability to detect
|
||
line slope precisely.</para>
|
||
|
||
<para>Default value is set to <b>1</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.DocumentSkewChecker.MaxSkewToDetect">
|
||
<summary>
|
||
Maximum skew angle to detect, [0, 45] degrees.
|
||
</summary>
|
||
|
||
<remarks><para>The value sets maximum document's skew angle to detect.
|
||
Document's skew angle can be as positive (rotated counter clockwise), as negative
|
||
(rotated clockwise). So setting this value to 25, for example, will lead to
|
||
[-25, 25] degrees detection range.</para>
|
||
|
||
<para>Scanned documents usually have skew in the [-20, 20] degrees range.</para>
|
||
|
||
<para>Default value is set to <b>30</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.DocumentSkewChecker.MinBeta">
|
||
<summary>
|
||
Minimum angle to detect skew in degrees.
|
||
</summary>
|
||
|
||
<remarks><para><note>The property is deprecated and setting it has not any effect.
|
||
Use <see cref="P:AForge.Imaging.DocumentSkewChecker.MaxSkewToDetect"/> property instead.</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.DocumentSkewChecker.MaxBeta">
|
||
<summary>
|
||
Maximum angle to detect skew in degrees.
|
||
</summary>
|
||
|
||
<remarks><para><note>The property is deprecated and setting it has not any effect.
|
||
Use <see cref="P:AForge.Imaging.DocumentSkewChecker.MaxSkewToDetect"/> property instead.</note></para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.DocumentSkewChecker.LocalPeakRadius">
|
||
<summary>
|
||
Radius for searching local peak value, [1, 10].
|
||
</summary>
|
||
|
||
<remarks><para>The value determines radius around a map's value, which is analyzed to determine
|
||
if the map's value is a local maximum in specified area.</para>
|
||
|
||
<para>Default value is set to <b>4</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Textures.WoodTexture">
|
||
<summary>
|
||
Wood texture.
|
||
</summary>
|
||
|
||
<remarks><para>The texture generator creates textures with effect of
|
||
rings on trunk's shear. The <see cref="P:AForge.Imaging.Textures.WoodTexture.Rings"/> property allows to specify the
|
||
desired amount of wood rings.</para>
|
||
|
||
<para>The generator is based on the <see cref="T:AForge.Math.PerlinNoise">Perlin noise function</see>.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create texture generator
|
||
WoodTexture textureGenerator = new WoodTexture( );
|
||
// generate new texture
|
||
float[,] texture = textureGenerator.Generate( 320, 240 );
|
||
// convert it to image to visualize
|
||
Bitmap textureImage = TextureTools.ToBitmap( texture );
|
||
</code>
|
||
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/wood_texture.jpg" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.WoodTexture.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Textures.WoodTexture"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.WoodTexture.#ctor(System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Textures.WoodTexture"/> class.
|
||
</summary>
|
||
|
||
<param name="rings">Wood rings amount.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.WoodTexture.Generate(System.Int32,System.Int32)">
|
||
<summary>
|
||
Generate texture.
|
||
</summary>
|
||
|
||
<param name="width">Texture's width.</param>
|
||
<param name="height">Texture's height.</param>
|
||
|
||
<returns>Two dimensional array of intensities.</returns>
|
||
|
||
<remarks>Generates new texture of the specified size.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.WoodTexture.Reset">
|
||
<summary>
|
||
Reset generator.
|
||
</summary>
|
||
|
||
<remarks>Regenerates internal random numbers.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Textures.WoodTexture.Rings">
|
||
<summary>
|
||
Wood rings amount, ≥ 3.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets the amount of wood rings, which make effect of
|
||
rings on trunk's shear.</para>
|
||
|
||
<para>Default value is set to <b>12</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.MemoryManager">
|
||
<summary>
|
||
Internal memory manager used by image processing routines.
|
||
</summary>
|
||
|
||
<remarks><para>The memory manager supports memory allocation/deallocation
|
||
caching. Caching means that memory blocks may be not freed on request, but
|
||
kept for later reuse.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.MemoryManager.Alloc(System.Int32)">
|
||
<summary>
|
||
Allocate unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="size">Memory size to allocate.</param>
|
||
|
||
<returns>Return's pointer to the allocated memory buffer.</returns>
|
||
|
||
<remarks>The method allocates requested amount of memory and returns pointer to it. It may avoid allocation
|
||
in the case some caching scheme is uses and there is already enough allocated memory available.</remarks>
|
||
|
||
<exception cref="T:System.OutOfMemoryException">There is insufficient memory to satisfy the request.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.MemoryManager.Free(System.IntPtr)">
|
||
<summary>
|
||
Free unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="pointer">Pointer to memory buffer to free.</param>
|
||
|
||
<remarks>This method may skip actual deallocation of memory and keep it for future <see cref="M:AForge.Imaging.MemoryManager.Alloc(System.Int32)"/> requests,
|
||
if some caching scheme is used.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.MemoryManager.FreeUnusedMemory">
|
||
<summary>
|
||
Force freeing unused memory.
|
||
</summary>
|
||
|
||
<remarks>Frees and removes from cache memory blocks, which are not used by users.</remarks>
|
||
|
||
<returns>Returns number of freed memory blocks.</returns>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.MemoryManager.MaximumCacheSize">
|
||
<summary>
|
||
Maximum amount of memory blocks to keep in cache.
|
||
</summary>
|
||
|
||
<remarks><para>The value specifies the amount of memory blocks, which could be
|
||
cached by the memory manager.</para>
|
||
|
||
<para>Default value is set to 3. Maximum value is 10.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.MemoryManager.CurrentCacheSize">
|
||
<summary>
|
||
Current amount of memory blocks in cache.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.MemoryManager.BusyMemoryBlocks">
|
||
<summary>
|
||
Amount of busy memory blocks in cache (which were not freed yet by user).
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.MemoryManager.FreeMemoryBlocks">
|
||
<summary>
|
||
Amount of free memory blocks in cache (which are not busy by users).
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.MemoryManager.CachedMemory">
|
||
<summary>
|
||
Amount of cached memory in bytes.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.MemoryManager.MaxSizeToCache">
|
||
<summary>
|
||
Maximum memory block's size in bytes, which could be cached.
|
||
</summary>
|
||
|
||
<remarks>Memory blocks, which size is greater than this value, are not cached.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.MemoryManager.MinSizeToCache">
|
||
<summary>
|
||
Minimum memory block's size in bytes, which could be cached.
|
||
</summary>
|
||
|
||
<remarks>Memory blocks, which size is less than this value, are not cached.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.YCbCrExtractChannel">
|
||
<summary>
|
||
Extract YCbCr channel from image.
|
||
</summary>
|
||
|
||
<remarks><para>The filter extracts specified YCbCr channel of color image and returns
|
||
it in the form of grayscale image.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images and produces
|
||
8 bpp grayscale images.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
YCbCrExtractChannel filter = new YCbCrExtractChannel( YCbCr.CrIndex );
|
||
// apply the filter
|
||
Bitmap crChannel = filter.Apply( image );
|
||
</code>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.YCbCrReplaceChannel"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrExtractChannel.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.YCbCrExtractChannel"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrExtractChannel.#ctor(System.Int16)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.YCbCrExtractChannel"/> class.
|
||
</summary>
|
||
|
||
<param name="channel">YCbCr channel to extract.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrExtractChannel.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrExtractChannel.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrExtractChannel.Channel">
|
||
<summary>
|
||
YCbCr channel to extract.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see cref="F:AForge.Imaging.YCbCr.YIndex"/> (Y channel).</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid channel was specified.</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ResizeNearestNeighbor">
|
||
<summary>
|
||
Resize image using nearest neighbor algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements image resizing filter using nearest
|
||
neighbor algorithm, which does not assume any interpolation.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24, 32, 48 and 64 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ResizeNearestNeighbor filter = new ResizeNearestNeighbor( 400, 300 );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample9.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/resize_nearest.png" width="400" height="300"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ResizeBilinear"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.ResizeBicubic"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ResizeNearestNeighbor.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ResizeNearestNeighbor"/> class.
|
||
</summary>
|
||
|
||
<param name="newWidth">Width of the new image.</param>
|
||
<param name="newHeight">Height of the new image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ResizeNearestNeighbor.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ResizeNearestNeighbor.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Crop">
|
||
<summary>
|
||
Crop an image.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The filter crops an image providing a new image, which contains only the specified
|
||
rectangle of the original image.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24, 32, 48 and 64 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Crop filter = new Crop( new Rectangle( 75, 75, 320, 240 ) );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/crop.jpg" width="320" height="240" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Crop.#ctor(System.Drawing.Rectangle)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Crop"/> class.
|
||
</summary>
|
||
|
||
<param name="rect">Rectangle to crop.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Crop.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Crop.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Crop.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Crop.Rectangle">
|
||
<summary>
|
||
Rectangle to crop.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.PointedColorFloodFill">
|
||
<summary>
|
||
Flood filling with specified color starting from specified point.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs image's area filling (4 directional) starting
|
||
from the <see cref="P:AForge.Imaging.Filters.PointedColorFloodFill.StartingPoint">specified point</see>. It fills
|
||
the area of the pointed color, but also fills other colors, which
|
||
are similar to the pointed within specified <see cref="P:AForge.Imaging.Filters.PointedColorFloodFill.Tolerance">tolerance</see>.
|
||
The area is filled using <see cref="P:AForge.Imaging.Filters.PointedColorFloodFill.FillColor">specified fill color</see>.
|
||
</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
PointedColorFloodFill filter = new PointedColorFloodFill( );
|
||
// configure the filter
|
||
filter.Tolerance = Color.FromArgb( 150, 92, 92 );
|
||
filter.FillColor = Color.FromArgb( 255, 255, 255 );
|
||
filter.StartingPoint = new IntPoint( 150, 100 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/pointed_color_fill.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.PointedMeanFloodFill"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.PointedColorFloodFill.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.PointedColorFloodFill"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.PointedColorFloodFill.#ctor(System.Drawing.Color)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.PointedColorFloodFill"/> class.
|
||
</summary>
|
||
|
||
<param name="fillColor">Fill color.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.PointedColorFloodFill.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.PointedColorFloodFill.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.PointedColorFloodFill.Tolerance">
|
||
<summary>
|
||
Flood fill tolerance.
|
||
</summary>
|
||
|
||
<remarks><para>The tolerance value determines which colors to fill. If the
|
||
value is set to 0, then only color of the <see cref="P:AForge.Imaging.Filters.PointedColorFloodFill.StartingPoint">pointed pixel</see>
|
||
is filled. If the value is not 0, then other colors may be filled as well,
|
||
which are similar to the color of the pointed pixel within the specified
|
||
tolerance.</para>
|
||
|
||
<para>The tolerance value is specified as <see cref="T:System.Drawing.Color"/>,
|
||
where each component (R, G and B) represents tolerance for the corresponding
|
||
component of color. This allows to set different tolerances for red, green
|
||
and blue components.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.PointedColorFloodFill.FillColor">
|
||
<summary>
|
||
Fill color.
|
||
</summary>
|
||
|
||
<remarks><para>The fill color is used to fill image's area starting from the
|
||
<see cref="P:AForge.Imaging.Filters.PointedColorFloodFill.StartingPoint">specified point</see>.</para>
|
||
|
||
<para>For grayscale images the color needs to be specified with all three
|
||
RGB values set to the same value, (128, 128, 128) for example.</para>
|
||
|
||
<para>Default value is set to <b>black</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.PointedColorFloodFill.StartingPoint">
|
||
<summary>
|
||
Point to start filling from.
|
||
</summary>
|
||
|
||
<remarks><para>The property allows to set the starting point, where filling is
|
||
started from.</para>
|
||
|
||
<remarks>Default value is set to <b>(0, 0)</b>.</remarks>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Erosion3x3">
|
||
<summary>
|
||
Erosion operator from Mathematical Morphology with 3x3 structuring element.
|
||
</summary>
|
||
|
||
<remarks><para>The filter represents an optimized version of <see cref="T:AForge.Imaging.Filters.Erosion"/>
|
||
filter, which is aimed for grayscale image processing with 3x3 structuring element.</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.Erosion"/> filter, which represents generic version of
|
||
erosion filter supporting custom structuring elements and wider range of image formats.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Erosion"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.BinaryErosion3x3"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Erosion3x3.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Erosion3x3"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Erosion3x3.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Processing rectangle mast be at least 3x3 in size.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Erosion3x3.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.FlatFieldCorrection">
|
||
<summary>
|
||
Flat field correction filter.
|
||
</summary>
|
||
|
||
<remarks><para>The goal of flat-field correction is to remove artifacts from 2-D images that
|
||
are caused by variations in the pixel-to-pixel sensitivity of the detector and/or by distortions
|
||
in the optical path. The filter requires two images for the input - source image, which represents
|
||
acquisition of some objects (using microscope, for example), and background image, which is taken
|
||
without any objects presented. The source image is corrected using the formula: <b>src = bgMean * src / bg</b>,
|
||
where <b>src</b> - source image's pixel value, <b>bg</b> - background image's pixel value, <b>bgMean</b> - mean
|
||
value of background image.</para>
|
||
|
||
<para><note>If background image is not provided, then it will be automatically generated on each filter run
|
||
from source image. The automatically generated background image is produced running Gaussian Blur on the
|
||
original image with (sigma value is set to 5, kernel size is set to 21). Before blurring the original image
|
||
is resized to 1/3 of its original size and then the result of blurring is resized back to the original size.
|
||
</note></para>
|
||
|
||
<para><note>The class processes only grayscale (8 bpp indexed) and color (24 bpp) images.</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
FlatFieldCorrection filter = new FlatFieldCorrection( bgImage );
|
||
// process image
|
||
filter.ApplyInPlace( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample4.jpg" width="480" height="387" />
|
||
<para><b>Background image:</b></para>
|
||
<img src="img/imaging/bg.jpg" width="480" height="387" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/flat_field.jpg" width="480" height="387" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FlatFieldCorrection.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.FlatFieldCorrection"/> class.
|
||
</summary>
|
||
|
||
<remarks><para>This constructor does not set background image, which means that background
|
||
image will be generated on the fly on each filter run. The automatically generated background
|
||
image is produced running Gaussian Blur on the original image with (sigma value is set to 5,
|
||
kernel size is set to 21). Before blurring the original image is resized to 1/3 of its original size
|
||
and then the result of blurring is resized back to the original size.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FlatFieldCorrection.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.FlatFieldCorrection"/> class.
|
||
</summary>
|
||
|
||
<param name="backgroundImage">Background image used for flat field correction.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FlatFieldCorrection.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FlatFieldCorrection.BackgoundImage">
|
||
<summary>
|
||
Background image used for flat field correction.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets the background image (without any objects), which will be used
|
||
for illumination correction of an image passed to the filter.</para>
|
||
|
||
<para><note>The background image must have the same size and pixel format as source image.
|
||
Otherwise exception will be generated when filter is applied to source image.</note></para>
|
||
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.FlatFieldCorrection.UnmanagedBackgoundImage"/> property -
|
||
only one background image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FlatFieldCorrection.UnmanagedBackgoundImage">
|
||
<summary>
|
||
Background image used for flat field correction.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets the background image (without any objects), which will be used
|
||
for illumination correction of an image passed to the filter.</para>
|
||
|
||
<para><note>The background image must have the same size and pixel format as source image.
|
||
Otherwise exception will be generated when filter is applied to source image.</note></para>
|
||
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.FlatFieldCorrection.BackgoundImage"/> property -
|
||
only one background image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FlatFieldCorrection.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.HSLFiltering">
|
||
<summary>
|
||
Color filtering in HSL color space.
|
||
</summary>
|
||
|
||
<remarks><para>The filter operates in <b>HSL</b> color space and filters
|
||
pixels, which color is inside/outside of the specified HSL range -
|
||
it keeps pixels with colors inside/outside of the specified range and fills the
|
||
rest with <see cref="P:AForge.Imaging.Filters.HSLFiltering.FillColor">specified color</see>.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
HSLFiltering filter = new HSLFiltering( );
|
||
// set color ranges to keep
|
||
filter.Hue = new IntRange( 335, 0 );
|
||
filter.Saturation = new Range( 0.6f, 1 );
|
||
filter.Luminance = new Range( 0.1f, 1 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/hsl_filtering.jpg" width="480" height="361"/>
|
||
|
||
<para>Sample usage with saturation update only:</para>
|
||
<code>
|
||
// create filter
|
||
HSLFiltering filter = new HSLFiltering( );
|
||
// configure the filter
|
||
filter.Hue = new IntRange( 340, 20 );
|
||
filter.UpdateLuminance = false;
|
||
filter.UpdateHue = false;
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/hsl_filtering2.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ColorFiltering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.YCbCrFiltering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HSLFiltering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HSLFiltering"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HSLFiltering.#ctor(AForge.IntRange,AForge.Range,AForge.Range)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HSLFiltering"/> class.
|
||
</summary>
|
||
|
||
<param name="hue">Range of hue component.</param>
|
||
<param name="saturation">Range of saturation component.</param>
|
||
<param name="luminance">Range of luminance component.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HSLFiltering.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLFiltering.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLFiltering.Hue">
|
||
<summary>
|
||
Range of hue component, [0, 359].
|
||
</summary>
|
||
|
||
<remarks><note>Because of hue values are cycled, the minimum value of the hue
|
||
range may have bigger integer value than the maximum value, for example [330, 30].</note></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLFiltering.Saturation">
|
||
<summary>
|
||
Range of saturation component, [0, 1].
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLFiltering.Luminance">
|
||
<summary>
|
||
Range of luminance component, [0, 1].
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLFiltering.FillColor">
|
||
<summary>
|
||
Fill color used to fill filtered pixels.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLFiltering.FillOutsideRange">
|
||
<summary>
|
||
Determines, if pixels should be filled inside or outside specified
|
||
color range.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see langword="true"/>, which means
|
||
the filter removes colors outside of the specified range.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLFiltering.UpdateHue">
|
||
<summary>
|
||
Determines, if hue value of filtered pixels should be updated.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if hue of filtered pixels should be
|
||
updated with value from <see cref="P:AForge.Imaging.Filters.HSLFiltering.FillColor">fill color</see> or not.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLFiltering.UpdateSaturation">
|
||
<summary>
|
||
Determines, if saturation value of filtered pixels should be updated.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if saturation of filtered pixels should be
|
||
updated with value from <see cref="P:AForge.Imaging.Filters.HSLFiltering.FillColor">fill color</see> or not.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HSLFiltering.UpdateLuminance">
|
||
<summary>
|
||
Determines, if luminance value of filtered pixels should be updated.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if luminance of filtered pixels should be
|
||
updated with value from <see cref="P:AForge.Imaging.Filters.HSLFiltering.FillColor">fill color</see> or not.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.GaussianBlur">
|
||
<summary>
|
||
Gaussian blur filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs <see cref="T:AForge.Imaging.Filters.Convolution">convolution filter</see> using
|
||
the kernel, which is calculate with the help of <see cref="M:AForge.Math.Gaussian.Kernel2D(System.Int32)"/>
|
||
method and then converted to integer kernel by dividing all elements by the element with the
|
||
smallest value. Using the kernel the convolution filter is known as Gaussian blur.</para>
|
||
|
||
<para>Using <see cref="P:AForge.Imaging.Filters.GaussianBlur.Sigma"/> property it is possible to configure
|
||
<see cref="P:AForge.Math.Gaussian.Sigma">sigma value of Gaussian function</see>.</para>
|
||
|
||
<para>For the list of supported pixel formats, see the documentation to <see cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
filter.</para>
|
||
|
||
<para><note>By default this filter sets <see cref="P:AForge.Imaging.Filters.Convolution.ProcessAlpha"/> property to
|
||
<see langword="true"/>, so the alpha channel of 32 bpp and 64 bpp images is blurred as well.
|
||
</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter with kernel size equal to 11
|
||
// and Gaussia sigma value equal to 4.0
|
||
GaussianBlur filter = new GaussianBlur( 4, 11 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/gaussian_blur.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GaussianBlur.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GaussianBlur"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GaussianBlur.#ctor(System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GaussianBlur"/> class.
|
||
</summary>
|
||
|
||
<param name="sigma">Gaussian sigma value.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GaussianBlur.#ctor(System.Double,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GaussianBlur"/> class.
|
||
</summary>
|
||
|
||
<param name="sigma">Gaussian sigma value.</param>
|
||
<param name="size">Kernel size.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.GaussianBlur.Sigma">
|
||
<summary>
|
||
Gaussian sigma value, [0.5, 5.0].
|
||
</summary>
|
||
|
||
<remarks><para>Sigma value for Gaussian function used to calculate
|
||
the kernel.</para>
|
||
|
||
<para>Default value is set to <b>1.4</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.GaussianBlur.Size">
|
||
<summary>
|
||
Kernel size, [3, 21].
|
||
</summary>
|
||
|
||
<remarks><para>Size of Gaussian kernel.</para>
|
||
|
||
<para>Default value is set to <b>5</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Edges">
|
||
<summary>
|
||
Simple edge detector.
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs <see cref="T:AForge.Imaging.Filters.Convolution">convolution filter</see> using
|
||
the edges kernel:</para>
|
||
|
||
<code lang="none">
|
||
0 -1 0
|
||
-1 4 -1
|
||
0 -1 0
|
||
</code>
|
||
|
||
<para>For the list of supported pixel formats, see the documentation to <see cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
filter.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Edges filter = new Edges( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/edges.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Edges.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Edges"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BaseFilter2">
|
||
<summary>
|
||
Base class for filters, which operate with two images of the same size and format and
|
||
produce new image as a result.
|
||
</summary>
|
||
|
||
<remarks><para>The abstract class is the base class for all filters, which can
|
||
be applied to an image producing new image as a result of image processing.</para>
|
||
|
||
<para>The base class is aimed for such type of filters, which require additional image
|
||
to process the source image. The additional image is set by <see cref="P:AForge.Imaging.Filters.BaseFilter2.OverlayImage"/>
|
||
or <see cref="P:AForge.Imaging.Filters.BaseFilter2.UnmanagedOverlayImage"/> property and must have the same size and pixel format
|
||
as source image. See documentation of particular inherited class for information
|
||
about overlay image purpose.
|
||
</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseFilter2.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BaseFilter2"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseFilter2.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BaseFilter2"/> class.
|
||
</summary>
|
||
|
||
<param name="overlayImage">Overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseFilter2.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BaseFilter2"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedOverlayImage">Unmanaged overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseFilter2.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BaseFilter2.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
<param name="destinationData">Destination image data</param>
|
||
|
||
<remarks><para>Overlay image size and pixel format is checked by this base class, before
|
||
passing execution to inherited class.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseFilter2.OverlayImage">
|
||
<summary>
|
||
Overlay image.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The property sets an overlay image, which will be used as the second image required
|
||
to process source image. See documentation of particular inherited class for information
|
||
about overlay image purpose.
|
||
</para>
|
||
|
||
<para><note>Overlay image must have the same size and pixel format as source image.
|
||
Otherwise exception will be generated when filter is applied to source image.</note></para>
|
||
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.BaseFilter2.UnmanagedOverlayImage"/> property -
|
||
only one overlay image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BaseFilter2.UnmanagedOverlayImage">
|
||
<summary>
|
||
Unmanaged overlay image.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The property sets an overlay image, which will be used as the second image required
|
||
to process source image. See documentation of particular inherited class for information
|
||
about overlay image purpose.
|
||
</para>
|
||
|
||
<para><note>Overlay image must have the same size and pixel format as source image.
|
||
Otherwise exception will be generated when filter is applied to source image.</note></para>
|
||
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.BaseFilter2.OverlayImage"/> property -
|
||
only one overlay image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.OtsuThreshold">
|
||
<summary>
|
||
Otsu thresholding.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements Otsu thresholding, which is described in
|
||
<b>N. Otsu, "A threshold selection method from gray-level histograms", IEEE Trans. Systems,
|
||
Man and Cybernetics 9(1), pp. 62–66, 1979.</b></para>
|
||
|
||
<para>This implementation instead of minimizing the weighted within-class variance
|
||
does maximization of between-class variance, what gives the same result. The approach is
|
||
described in <a href="http://sampl.ece.ohio-state.edu/EE863/2004/ECE863-G-segclust2.ppt">this presentation</a>.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
OtsuThreshold filter = new OtsuThreshold( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
// check threshold value
|
||
byte t = filter.ThresholdValue;
|
||
// ...
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample11.png" width="256" height="256"/>
|
||
<para><b>Result image (calculated threshold is 97):</b></para>
|
||
<img src="img/imaging/otsu_threshold.png" width="256" height="256"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.IterativeThreshold"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.SISThreshold"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OtsuThreshold.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.OtsuThreshold"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OtsuThreshold.CalculateThreshold(System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Calculate binarization threshold for the given image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate binarization threshold for.</param>
|
||
<param name="rect">Rectangle to calculate binarization threshold for.</param>
|
||
|
||
<returns>Returns binarization threshold.</returns>
|
||
|
||
<remarks><para>The method is used to calculate binarization threshold only. The threshold
|
||
later may be applied to the image using <see cref="T:AForge.Imaging.Filters.Threshold"/> image processing filter.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported by the routine. It should be
|
||
8 bpp grayscale (indexed) image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OtsuThreshold.CalculateThreshold(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Calculate binarization threshold for the given image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate binarization threshold for.</param>
|
||
<param name="rect">Rectangle to calculate binarization threshold for.</param>
|
||
|
||
<returns>Returns binarization threshold.</returns>
|
||
|
||
<remarks><para>The method is used to calculate binarization threshold only. The threshold
|
||
later may be applied to the image using <see cref="T:AForge.Imaging.Filters.Threshold"/> image processing filter.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported by the routine. It should be
|
||
8 bpp grayscale (indexed) image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OtsuThreshold.CalculateThreshold(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Calculate binarization threshold for the given image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate binarization threshold for.</param>
|
||
<param name="rect">Rectangle to calculate binarization threshold for.</param>
|
||
|
||
<returns>Returns binarization threshold.</returns>
|
||
|
||
<remarks><para>The method is used to calculate binarization threshold only. The threshold
|
||
later may be applied to the image using <see cref="T:AForge.Imaging.Filters.Threshold"/> image processing filter.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported by the routine. It should be
|
||
8 bpp grayscale (indexed) image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OtsuThreshold.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.OtsuThreshold.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.OtsuThreshold.ThresholdValue">
|
||
<summary>
|
||
Threshold value.
|
||
</summary>
|
||
|
||
<remarks>The property is read only and represents the value, which
|
||
was automaticaly calculated using Otsu algorithm.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.IterativeThreshold">
|
||
<summary>
|
||
Iterative threshold search and binarization.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The algorithm works in the following way:
|
||
<list type="bullet">
|
||
<item>select any start threshold;</item>
|
||
<item>compute average value of Background (µB) and Object (µO) values:
|
||
1) all pixels with a value that is below threshold, belong to the Background values;
|
||
2) all pixels greater or equal threshold, belong to the Object values.
|
||
</item>
|
||
<item>calculate new thresghold: (µB + µO) / 2;</item>
|
||
<item>if |oldThreshold - newThreshold| is less than a given manimum allowed error, then stop iteration process
|
||
and create the binary image with the new threshold.</item>
|
||
</list>
|
||
</para>
|
||
|
||
<para>For additional information see <b>Digital Image Processing, Gonzalez/Woods. Ch.10 page:599</b>.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images for processing.</para>
|
||
|
||
<para><note>Since the filter can be applied as to 8 bpp and to 16 bpp images,
|
||
the initial value of <see cref="P:AForge.Imaging.Filters.Threshold.ThresholdValue"/> property should be set appropriately to the
|
||
pixel format. In the case of 8 bpp images the threshold value is in the [0, 255] range, but
|
||
in the case of 16 bpp images the threshold value is in the [0, 65535] range.</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
IterativeThreshold filter = new IterativeThreshold( 2, 128 );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample11.png" width="256" height="256"/>
|
||
<para><b>Result image (calculated threshold is 102):</b></para>
|
||
<img src="img/imaging/iterative_threshold.png" width="256" height="256"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.OtsuThreshold"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.SISThreshold"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IterativeThreshold.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.IterativeThreshold"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IterativeThreshold.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.IterativeThreshold"/> class.
|
||
</summary>
|
||
|
||
<param name="minError">Minimum allowed error, that ends the iteration process.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IterativeThreshold.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.IterativeThreshold"/> class.
|
||
</summary>
|
||
|
||
<param name="minError">Minimum allowed error, that ends the iteration process.</param>
|
||
<param name="threshold">Initial threshold value.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IterativeThreshold.CalculateThreshold(System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Calculate binarization threshold for the given image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate binarization threshold for.</param>
|
||
<param name="rect">Rectangle to calculate binarization threshold for.</param>
|
||
|
||
<returns>Returns binarization threshold.</returns>
|
||
|
||
<remarks><para>The method is used to calculate binarization threshold only. The threshold
|
||
later may be applied to the image using <see cref="T:AForge.Imaging.Filters.Threshold"/> image processing filter.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported by the routine. It should
|
||
8 bpp grayscale (indexed) or 16 bpp grayscale image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IterativeThreshold.CalculateThreshold(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Calculate binarization threshold for the given image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate binarization threshold for.</param>
|
||
<param name="rect">Rectangle to calculate binarization threshold for.</param>
|
||
|
||
<returns>Returns binarization threshold.</returns>
|
||
|
||
<remarks><para>The method is used to calculate binarization threshold only. The threshold
|
||
later may be applied to the image using <see cref="T:AForge.Imaging.Filters.Threshold"/> image processing filter.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported by the routine. It should
|
||
8 bpp grayscale (indexed) or 16 bpp grayscale image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IterativeThreshold.CalculateThreshold(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Calculate binarization threshold for the given image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate binarization threshold for.</param>
|
||
<param name="rect">Rectangle to calculate binarization threshold for.</param>
|
||
|
||
<returns>Returns binarization threshold.</returns>
|
||
|
||
<remarks><para>The method is used to calculate binarization threshold only. The threshold
|
||
later may be applied to the image using <see cref="T:AForge.Imaging.Filters.Threshold"/> image processing filter.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported by the routine. It should
|
||
8 bpp grayscale (indexed) or 16 bpp grayscale image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.IterativeThreshold.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.IterativeThreshold.MinimumError">
|
||
<summary>
|
||
Minimum error, value when iterative threshold search is stopped.
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <b>0</b>.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ThresholdedEuclideanDifference">
|
||
<summary>
|
||
Calculate Euclidean difference between two images and threshold it.
|
||
</summary>
|
||
|
||
<remarks><para>The filter produces similar to <see cref="T:AForge.Imaging.Filters.ThresholdedDifference"/>, however it uses
|
||
Euclidean distance for finding difference between pixel values instead of Manhattan distance. Result of this
|
||
image processing routine may be useful in motion detection applications or finding areas of significant
|
||
difference.</para>
|
||
|
||
<para>The filter accepts 8 and 24/32color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ThresholdedEuclideanDifference filter = new ThresholdedEuclideanDifference( 60 );
|
||
// apply the filter
|
||
filter.OverlayImage = backgroundImage;
|
||
Bitmap resultImage = filter.Apply( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/object.jpg" width="320" height="240"/>
|
||
<para><b>Background image:</b></para>
|
||
<img src="img/imaging/background.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/thresholded_euclidean_difference.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ThresholdedDifference"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ThresholdedEuclideanDifference.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ThresholdedEuclideanDifference"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ThresholdedEuclideanDifference.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ThresholdedEuclideanDifference"/> class.
|
||
</summary>
|
||
|
||
<param name="threshold">Difference threshold (see <see cref="P:AForge.Imaging.Filters.ThresholdedEuclideanDifference.Threshold"/>).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ThresholdedEuclideanDifference.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
<param name="destinationData">Destination image data</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ThresholdedEuclideanDifference.Threshold">
|
||
<summary>
|
||
Difference threshold.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies difference threshold. If difference between pixels of processing image
|
||
and overlay image is greater than this value, then corresponding pixel of result image is set to white; otherwise
|
||
black.
|
||
</para>
|
||
|
||
<para>Default value is set to <b>15</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ThresholdedEuclideanDifference.WhitePixelsCount">
|
||
<summary>
|
||
Number of pixels which were set to white in destination image during last image processing call.
|
||
</summary>
|
||
|
||
<remarks><para>The property may be useful to determine amount of difference between two images which,
|
||
for example, may be treated as amount of motion in motion detection applications, etc.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ThresholdedEuclideanDifference.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Intersect">
|
||
<summary>
|
||
Intersect filter - get MIN of pixels in two images.
|
||
</summary>
|
||
|
||
<remarks><para>The intersect filter takes two images (source and overlay images)
|
||
of the same size and pixel format and produces an image, where each pixel equals
|
||
to the minimum value of corresponding pixels from provided images.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24, 32, 48 and 64 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Intersect filter = new Intersect( overlayImage );
|
||
// apply the filter
|
||
Bitmap resultImage = filter.Apply( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample6.png" width="320" height="240"/>
|
||
<para><b>Overlay image:</b></para>
|
||
<img src="img/imaging/sample7.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/intersect.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Merge"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Difference"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Add"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Subtract"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Intersect.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Merge"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Intersect.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Merge"/> class.
|
||
</summary>
|
||
|
||
<param name="overlayImage">Overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Intersect.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Intersect"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedOverlayImage">Unmanaged overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Intersect.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Intersect.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.SierraColorDithering">
|
||
<summary>
|
||
Color dithering using Sierra error diffusion.
|
||
</summary>
|
||
|
||
<remarks><para>The image processing routine represents color dithering algorithm, which is based on
|
||
error diffusion dithering with Sierra coefficients. Error is diffused
|
||
on 10 neighbor pixels with next coefficients:</para>
|
||
<code lang="none">
|
||
| * | 5 | 3 |
|
||
| 2 | 4 | 5 | 4 | 2 |
|
||
| 2 | 3 | 2 |
|
||
|
||
/ 32
|
||
</code>
|
||
|
||
<para>The image processing routine accepts 24/32 bpp color images for processing. As a result this routine
|
||
produces 4 bpp or 8 bpp indexed image, which depends on size of the specified
|
||
<see cref="P:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.ColorTable">color table</see> - 4 bpp result for
|
||
color tables with 16 colors or less; 8 bpp result for larger color tables.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create dithering routine (use default color table)
|
||
SierraColorDithering dithering = new SierraColorDithering( );
|
||
// apply the dithering routine
|
||
Bitmap newImage = dithering.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/color_sierra.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.BurkesColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.FloydSteinbergColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.JarvisJudiceNinkeColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.StuckiColorDithering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.SierraColorDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ColorReduction.SierraColorDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Textures.TextureTools">
|
||
<summary>
|
||
Texture tools.
|
||
</summary>
|
||
|
||
<remarks><para>The class represents collection of different texture tools, like
|
||
converting a texture to/from grayscale image.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create texture generator
|
||
WoodTexture textureGenerator = new WoodTexture( );
|
||
// generate new texture
|
||
float[,] texture = textureGenerator.Generate( 320, 240 );
|
||
// convert it to image to visualize
|
||
Bitmap textureImage = TextureTools.ToBitmap( texture );
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.TextureTools.ToBitmap(System.Single[0:,0:])">
|
||
<summary>
|
||
Convert texture to grayscale bitmap.
|
||
</summary>
|
||
|
||
<param name="texture">Texture to convert to bitmap.</param>
|
||
|
||
<returns>Returns bitmap of the texture.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.TextureTools.FromBitmap(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Convert grayscale bitmap to texture.
|
||
</summary>
|
||
|
||
<param name="image">Image to convert to texture.</param>
|
||
|
||
<returns>Returns texture as 2D float array.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Only grayscale (8 bpp indexed images) are supported.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.TextureTools.FromBitmap(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Convert grayscale bitmap to texture
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to convert to texture</param>
|
||
|
||
<returns>Returns texture as 2D float array.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Only grayscale (8 bpp indexed images) are supported.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.TextureTools.FromBitmap(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Convert grayscale bitmap to texture.
|
||
</summary>
|
||
|
||
<param name="image">Image data to convert to texture.</param>
|
||
|
||
<returns>Returns texture as 2D float array.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Only grayscale (8 bpp indexed images) are supported.</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Textures.TextileTexture">
|
||
<summary>
|
||
Textile texture.
|
||
</summary>
|
||
|
||
<remarks><para>The texture generator creates textures with effect of textile.</para>
|
||
|
||
<para>The generator is based on the <see cref="T:AForge.Math.PerlinNoise">Perlin noise function</see>.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create texture generator
|
||
TextileTexture textureGenerator = new TextileTexture( );
|
||
// generate new texture
|
||
float[,] texture = textureGenerator.Generate( 320, 240 );
|
||
// convert it to image to visualize
|
||
Bitmap textureImage = TextureTools.ToBitmap( texture );
|
||
</code>
|
||
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/textile_texture.jpg" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.TextileTexture.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Textures.TextileTexture"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.TextileTexture.Generate(System.Int32,System.Int32)">
|
||
<summary>
|
||
Generate texture.
|
||
</summary>
|
||
|
||
<param name="width">Texture's width.</param>
|
||
<param name="height">Texture's height.</param>
|
||
|
||
<returns>Two dimensional array of intensities.</returns>
|
||
|
||
<remarks>Generates new texture of the specified size.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.TextileTexture.Reset">
|
||
<summary>
|
||
Reset generator.
|
||
</summary>
|
||
|
||
<remarks>Regenerates internal random numbers.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.RecursiveBlobCounter">
|
||
<summary>
|
||
Blob counter based on recursion.
|
||
</summary>
|
||
|
||
<remarks><para>The class counts and extracts stand alone objects in
|
||
images using recursive version of connected components labeling
|
||
algorithm.</para>
|
||
|
||
<para><note>The algorithm treats all pixels with values less or equal to <see cref="P:AForge.Imaging.RecursiveBlobCounter.BackgroundThreshold"/>
|
||
as background, but pixels with higher values are treated as objects' pixels.</note></para>
|
||
|
||
<para><note>Since this algorithm is based on recursion, it is
|
||
required to be careful with its application to big images with big blobs,
|
||
because in this case recursion will require big stack size and may lead
|
||
to stack overflow. The recursive version may be applied (and may be even
|
||
faster than <see cref="T:AForge.Imaging.BlobCounter"/>) to an image with small blobs -
|
||
"star sky" image (or small cells, for example, etc).</note></para>
|
||
|
||
<para>For blobs' searching the class supports 8 bpp indexed grayscale images and
|
||
24/32 bpp color images.
|
||
See documentation about <see cref="T:AForge.Imaging.BlobCounterBase"/> for information about which
|
||
pixel formats are supported for extraction of blobs.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create an instance of blob counter algorithm
|
||
RecursiveBlobCounter bc = new RecursiveBlobCounter( );
|
||
// process binary image
|
||
bc.ProcessImage( image );
|
||
Rectangle[] rects = bc.GetObjectsRectangles( );
|
||
// process blobs
|
||
foreach ( Rectangle rect in rects )
|
||
{
|
||
// ...
|
||
}
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.BlobCounterBase">
|
||
<summary>
|
||
Base class for different blob counting algorithms.
|
||
</summary>
|
||
|
||
<remarks><para>The class is abstract and serves as a base for different blob counting algorithms.
|
||
Classes, which inherit from this base class, require to implement <see cref="M:AForge.Imaging.BlobCounterBase.BuildObjectsMap(AForge.Imaging.UnmanagedImage)"/>
|
||
method, which does actual building of object's label's map.</para>
|
||
|
||
<para>For blobs' searcing usually all inherited classes accept binary images, which are actually
|
||
grayscale thresholded images. But the exact supported format should be checked in particular class,
|
||
inheriting from the base class. For blobs' extraction the class supports grayscale (8 bpp indexed)
|
||
and color images (24 and 32 bpp).</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create an instance of blob counter algorithm
|
||
BlobCounterBase bc = new ...
|
||
// set filtering options
|
||
bc.FilterBlobs = true;
|
||
bc.MinWidth = 5;
|
||
bc.MinHeight = 5;
|
||
// process binary image
|
||
bc.ProcessImage( image );
|
||
Blob[] blobs = bc.GetObjects( image, false );
|
||
// process blobs
|
||
foreach ( Blob blob in blobs )
|
||
{
|
||
// ...
|
||
// blob.Rectangle - blob's rectangle
|
||
// blob.Image - blob's image
|
||
}
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.BlobCounterBase.objectsCount">
|
||
<summary>
|
||
Objects count.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.BlobCounterBase.objectLabels">
|
||
<summary>
|
||
Objects' labels.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.BlobCounterBase.imageWidth">
|
||
<summary>
|
||
Width of processed image.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.BlobCounterBase.imageHeight">
|
||
<summary>
|
||
Height of processed image.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.BlobCounterBase"/> class.
|
||
</summary>
|
||
|
||
<remarks>Creates new instance of the <see cref="T:AForge.Imaging.BlobCounterBase"/> class with
|
||
an empty objects map. Before using methods, which provide information about blobs
|
||
or extract them, the <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)"/>,
|
||
<see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Imaging.BitmapData)"/> or <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(AForge.Imaging.UnmanagedImage)"/>
|
||
method should be called to collect objects map.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.BlobCounterBase"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Binary image to look for objects in.</param>
|
||
|
||
<remarks>Creates new instance of the <see cref="T:AForge.Imaging.BlobCounterBase"/> class with
|
||
initialized objects map built by calling <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)"/> method.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.#ctor(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.BlobCounterBase"/> class.
|
||
</summary>
|
||
|
||
<param name="imageData">Binary image data to look for objects in.</param>
|
||
|
||
<remarks>Creates new instance of the <see cref="T:AForge.Imaging.BlobCounterBase"/> class with
|
||
initialized objects map built by calling <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Imaging.BitmapData)"/> method.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.BlobCounterBase"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged binary image to look for objects in.</param>
|
||
|
||
<remarks>Creates new instance of the <see cref="T:AForge.Imaging.BlobCounterBase"/> class with
|
||
initialized objects map built by calling <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(AForge.Imaging.UnmanagedImage)"/> method.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Build objects map.
|
||
</summary>
|
||
|
||
<param name="image">Source binary image.</param>
|
||
|
||
<remarks><para>Processes the image and builds objects map, which is used later to extracts blobs.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Build objects map.
|
||
</summary>
|
||
|
||
<param name="imageData">Source binary image data.</param>
|
||
|
||
<remarks><para>Processes the image and builds objects map, which is used later to extracts blobs.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.ProcessImage(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Build object map from raw image data.
|
||
</summary>
|
||
|
||
<param name="image">Source unmanaged binary image data.</param>
|
||
|
||
<remarks><para>Processes the image and builds objects map, which is used later to extracts blobs.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Thrown by some inherited classes if some image property other
|
||
than the pixel format is not supported. See that class's documentation or the exception message for details.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.GetObjectsRectangles">
|
||
<summary>
|
||
Get objects' rectangles.
|
||
</summary>
|
||
|
||
<returns>Returns array of objects' rectangles.</returns>
|
||
|
||
<remarks>The method returns array of objects rectangles. Before calling the
|
||
method, the <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)"/>, <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Imaging.BitmapData)"/>
|
||
or <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(AForge.Imaging.UnmanagedImage)"/> method should be called, which will
|
||
build objects map.</remarks>
|
||
|
||
<exception cref="T:System.ApplicationException">No image was processed before, so objects' rectangles
|
||
can not be collected.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.GetObjectsInformation">
|
||
<summary>
|
||
Get objects' information.
|
||
</summary>
|
||
|
||
<returns>Returns array of partially initialized blobs (without <see cref="P:AForge.Imaging.Blob.Image"/> property initialized).</returns>
|
||
|
||
<remarks><para>By the amount of provided information, the method is between <see cref="M:AForge.Imaging.BlobCounterBase.GetObjectsRectangles"/> and
|
||
<see cref="M:AForge.Imaging.BlobCounterBase.GetObjects(AForge.Imaging.UnmanagedImage,System.Boolean)"/> methods. The method provides array of blobs without initialized their image.
|
||
Blob's image may be extracted later using <see cref="M:AForge.Imaging.BlobCounterBase.ExtractBlobsImage(System.Drawing.Bitmap,AForge.Imaging.Blob,System.Boolean)"/>
|
||
or <see cref="M:AForge.Imaging.BlobCounterBase.ExtractBlobsImage(AForge.Imaging.UnmanagedImage,AForge.Imaging.Blob,System.Boolean)"/> method.
|
||
</para></remarks>
|
||
|
||
<example>
|
||
<code>
|
||
// create blob counter and process image
|
||
BlobCounter bc = new BlobCounter( sourceImage );
|
||
// specify sort order
|
||
bc.ObjectsOrder = ObjectsOrder.Size;
|
||
// get objects' information (blobs without image)
|
||
Blob[] blobs = bc.GetObjectInformation( );
|
||
// process blobs
|
||
foreach ( Blob blob in blobs )
|
||
{
|
||
// check blob's properties
|
||
if ( blob.Rectangle.Width > 50 )
|
||
{
|
||
// the blob looks interesting, let's extract it
|
||
bc.ExtractBlobsImage( sourceImage, blob );
|
||
}
|
||
}
|
||
</code>
|
||
</example>
|
||
|
||
<exception cref="T:System.ApplicationException">No image was processed before, so objects' information
|
||
can not be collected.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.GetObjects(System.Drawing.Bitmap,System.Boolean)">
|
||
<summary>
|
||
Get blobs.
|
||
</summary>
|
||
|
||
<param name="image">Source image to extract objects from.</param>
|
||
|
||
<returns>Returns array of blobs.</returns>
|
||
<param name="extractInOriginalSize">Specifies size of blobs' image to extract.
|
||
If set to <see langword="true"/> each blobs' image will have the same size as
|
||
the specified image. If set to <see langword="false"/> each blobs' image will
|
||
have the size of its blob.</param>
|
||
|
||
<remarks><para>The method returns array of blobs. Before calling the
|
||
method, the <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)"/>, <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Imaging.BitmapData)"/>
|
||
or <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(AForge.Imaging.UnmanagedImage)"/> method should be called, which will build
|
||
objects map.</para>
|
||
|
||
<para>The method supports 24/32 bpp color and 8 bpp indexed grayscale images.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the provided image.</exception>
|
||
<exception cref="T:System.ApplicationException">No image was processed before, so objects
|
||
can not be collected.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.GetObjects(AForge.Imaging.UnmanagedImage,System.Boolean)">
|
||
<summary>
|
||
Get blobs.
|
||
</summary>
|
||
|
||
<param name="image">Source unmanaged image to extract objects from.</param>
|
||
<param name="extractInOriginalSize">Specifies size of blobs' image to extract.
|
||
If set to <see langword="true"/> each blobs' image will have the same size as
|
||
the specified image. If set to <see langword="false"/> each blobs' image will
|
||
have the size of its blob.</param>
|
||
|
||
<returns>Returns array of blobs.</returns>
|
||
|
||
<remarks><para>The method returns array of blobs. Before calling the
|
||
method, the <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)"/>, <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Imaging.BitmapData)"/>
|
||
or <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(AForge.Imaging.UnmanagedImage)"/> method should be called, which will build
|
||
objects map.</para>
|
||
|
||
<para>The method supports 24/32 bpp color and 8 bpp indexed grayscale images.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the provided image.</exception>
|
||
<exception cref="T:System.ApplicationException">No image was processed before, so objects
|
||
can not be collected.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.ExtractBlobsImage(System.Drawing.Bitmap,AForge.Imaging.Blob,System.Boolean)">
|
||
<summary>
|
||
Extract blob's image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to extract blob's image from.</param>
|
||
<param name="blob">Blob which is required to be extracted.</param>
|
||
<param name="extractInOriginalSize">Specifies size of blobs' image to extract.
|
||
If set to <see langword="true"/> each blobs' image will have the same size as
|
||
the specified image. If set to <see langword="false"/> each blobs' image will
|
||
have the size of its blob.</param>
|
||
|
||
<remarks><para>The method is used to extract image of partially initialized blob, which
|
||
was provided by <see cref="M:AForge.Imaging.BlobCounterBase.GetObjectsInformation"/> method. Before calling the
|
||
method, the <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)"/>, <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Imaging.BitmapData)"/>
|
||
or <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(AForge.Imaging.UnmanagedImage)"/> method should be called, which will build
|
||
objects map.</para>
|
||
|
||
<para>The method supports 24/32 bpp color and 8 bpp indexed grayscale images.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the provided image.</exception>
|
||
<exception cref="T:System.ApplicationException">No image was processed before, so blob
|
||
can not be extracted.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.ExtractBlobsImage(AForge.Imaging.UnmanagedImage,AForge.Imaging.Blob,System.Boolean)">
|
||
<summary>
|
||
Extract blob's image.
|
||
</summary>
|
||
|
||
<param name="image">Source unmanaged image to extract blob's image from.</param>
|
||
<param name="blob">Blob which is required to be extracted.</param>
|
||
<param name="extractInOriginalSize">Specifies size of blobs' image to extract.
|
||
If set to <see langword="true"/> each blobs' image will have the same size as
|
||
the specified image. If set to <see langword="false"/> each blobs' image will
|
||
have the size of its blob.</param>
|
||
|
||
<remarks><para>The method is used to extract image of partially initialized blob, which
|
||
was provided by <see cref="M:AForge.Imaging.BlobCounterBase.GetObjectsInformation"/> method. Before calling the
|
||
method, the <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)"/>, <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Imaging.BitmapData)"/>
|
||
or <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(AForge.Imaging.UnmanagedImage)"/> method should be called, which will build
|
||
objects map.</para>
|
||
|
||
<para>The method supports 24/32 bpp color and 8 bpp indexed grayscale images.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the provided image.</exception>
|
||
<exception cref="T:System.ApplicationException">No image was processed before, so blob
|
||
can not be extracted.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.GetBlobsLeftAndRightEdges(AForge.Imaging.Blob,System.Collections.Generic.List{AForge.IntPoint}@,System.Collections.Generic.List{AForge.IntPoint}@)">
|
||
<summary>
|
||
Get list of points on the left and right edges of the blob.
|
||
</summary>
|
||
|
||
<param name="blob">Blob to collect edge points for.</param>
|
||
<param name="leftEdge">List of points on the left edge of the blob.</param>
|
||
<param name="rightEdge">List of points on the right edge of the blob.</param>
|
||
|
||
<remarks><para>The method scans each line of the blob and finds the most left and the
|
||
most right points for it adding them to appropriate lists. The method may be very
|
||
useful in conjunction with different routines from <see cref="N:AForge.Math.Geometry"/>,
|
||
which allow finding convex hull or quadrilateral's corners.</para>
|
||
|
||
<para><note>Both lists of points are sorted by Y coordinate - points with smaller Y
|
||
value go first.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ApplicationException">No image was processed before, so blob
|
||
can not be extracted.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.GetBlobsTopAndBottomEdges(AForge.Imaging.Blob,System.Collections.Generic.List{AForge.IntPoint}@,System.Collections.Generic.List{AForge.IntPoint}@)">
|
||
<summary>
|
||
Get list of points on the top and bottom edges of the blob.
|
||
</summary>
|
||
|
||
<param name="blob">Blob to collect edge points for.</param>
|
||
<param name="topEdge">List of points on the top edge of the blob.</param>
|
||
<param name="bottomEdge">List of points on the bottom edge of the blob.</param>
|
||
|
||
<remarks><para>The method scans each column of the blob and finds the most top and the
|
||
most bottom points for it adding them to appropriate lists. The method may be very
|
||
useful in conjunction with different routines from <see cref="N:AForge.Math.Geometry"/>,
|
||
which allow finding convex hull or quadrilateral's corners.</para>
|
||
|
||
<para><note>Both lists of points are sorted by X coordinate - points with smaller X
|
||
value go first.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ApplicationException">No image was processed before, so blob
|
||
can not be extracted.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.GetBlobsEdgePoints(AForge.Imaging.Blob)">
|
||
<summary>
|
||
Get list of object's edge points.
|
||
</summary>
|
||
|
||
<param name="blob">Blob to collect edge points for.</param>
|
||
|
||
<returns>Returns unsorted list of blob's edge points.</returns>
|
||
|
||
<remarks><para>The method scans each row and column of the blob and finds the
|
||
most top/bottom/left/right points. The method returns similar result as if results of
|
||
both <see cref="M:AForge.Imaging.BlobCounterBase.GetBlobsLeftAndRightEdges(AForge.Imaging.Blob,System.Collections.Generic.List{AForge.IntPoint}@,System.Collections.Generic.List{AForge.IntPoint}@)"/> and <see cref="M:AForge.Imaging.BlobCounterBase.GetBlobsTopAndBottomEdges(AForge.Imaging.Blob,System.Collections.Generic.List{AForge.IntPoint}@,System.Collections.Generic.List{AForge.IntPoint}@)"/>
|
||
methods were combined, but each edge point occurs only once in the list.</para>
|
||
|
||
<para><note>Edge points in the returned list are not ordered. This makes the list unusable
|
||
for visualization with methods, which draw polygon or poly-line. But the returned list
|
||
can be used with such algorithms, like convex hull search, shape analyzer, etc.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ApplicationException">No image was processed before, so blob
|
||
can not be extracted.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounterBase.BuildObjectsMap(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Actual objects map building.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to process.</param>
|
||
|
||
<remarks><note>By the time this method is called bitmap's pixel format is not
|
||
yet checked, so this should be done by the class inheriting from the base class.
|
||
<see cref="F:AForge.Imaging.BlobCounterBase.imageWidth"/> and <see cref="F:AForge.Imaging.BlobCounterBase.imageHeight"/> members are initialized
|
||
before the method is called, so these members may be used safely.</note></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounterBase.ObjectsCount">
|
||
<summary>
|
||
Objects count.
|
||
</summary>
|
||
|
||
<remarks><para>Number of objects (blobs) found by <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)"/> method.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounterBase.ObjectLabels">
|
||
<summary>
|
||
Objects' labels.
|
||
</summary>
|
||
|
||
<remarks>The array of <b>width</b> * <b>height</b> size, which holds
|
||
labels for all objects. Background is represented with <b>0</b> value,
|
||
but objects are represented with labels starting from <b>1</b>.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounterBase.ObjectsOrder">
|
||
<summary>
|
||
Objects sort order.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies objects' sort order, which are provided
|
||
by <see cref="M:AForge.Imaging.BlobCounterBase.GetObjectsRectangles"/>, <see cref="M:AForge.Imaging.BlobCounterBase.GetObjectsInformation"/>, etc.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounterBase.FilterBlobs">
|
||
<summary>
|
||
Specifies if blobs should be filtered.
|
||
</summary>
|
||
|
||
<remarks><para>If the property is equal to <b>false</b>, then there is no any additional
|
||
post processing after image was processed. If the property is set to <b>true</b>, then
|
||
blobs filtering is done right after image processing routine. If <see cref="P:AForge.Imaging.BlobCounterBase.BlobsFilter"/>
|
||
is set, then custom blobs' filtering is done, which is implemented by user. Otherwise
|
||
blobs are filtered according to dimensions specified in <see cref="P:AForge.Imaging.BlobCounterBase.MinWidth"/>,
|
||
<see cref="P:AForge.Imaging.BlobCounterBase.MinHeight"/>, <see cref="P:AForge.Imaging.BlobCounterBase.MaxWidth"/> and <see cref="P:AForge.Imaging.BlobCounterBase.MaxHeight"/> properties.</para>
|
||
|
||
<para>Default value is set to <see langword="false"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounterBase.CoupledSizeFiltering">
|
||
<summary>
|
||
Specifies if size filetering should be coupled or not.
|
||
</summary>
|
||
|
||
<remarks><para>In uncoupled filtering mode, objects are filtered out in the case if
|
||
their width is smaller than <see cref="P:AForge.Imaging.BlobCounterBase.MinWidth"/> <b>or</b> height is smaller than
|
||
<see cref="P:AForge.Imaging.BlobCounterBase.MinHeight"/>. But in coupled filtering mode, objects are filtered out in
|
||
the case if their width is smaller than <see cref="P:AForge.Imaging.BlobCounterBase.MinWidth"/> <b>and</b> height is
|
||
smaller than <see cref="P:AForge.Imaging.BlobCounterBase.MinHeight"/>. In both modes the idea with filtering by objects'
|
||
maximum size is the same as filtering by objects' minimum size.</para>
|
||
|
||
<para>Default value is set to <see langword="false"/>, what means uncoupled filtering by size.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounterBase.MinWidth">
|
||
<summary>
|
||
Minimum allowed width of blob.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies minimum object's width acceptable by blob counting
|
||
routine and has power only when <see cref="P:AForge.Imaging.BlobCounterBase.FilterBlobs"/> property is set to
|
||
<see langword="true"/> and <see cref="P:AForge.Imaging.BlobCounterBase.BlobsFilter">custom blobs' filter</see> is
|
||
set to <see langword="null"/>.</para>
|
||
|
||
<para>See documentation to <see cref="P:AForge.Imaging.BlobCounterBase.CoupledSizeFiltering"/> for additional information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounterBase.MinHeight">
|
||
<summary>
|
||
Minimum allowed height of blob.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies minimum object's height acceptable by blob counting
|
||
routine and has power only when <see cref="P:AForge.Imaging.BlobCounterBase.FilterBlobs"/> property is set to
|
||
<see langword="true"/> and <see cref="P:AForge.Imaging.BlobCounterBase.BlobsFilter">custom blobs' filter</see> is
|
||
set to <see langword="null"/>.</para>
|
||
|
||
<para>See documentation to <see cref="P:AForge.Imaging.BlobCounterBase.CoupledSizeFiltering"/> for additional information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounterBase.MaxWidth">
|
||
<summary>
|
||
Maximum allowed width of blob.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies maximum object's width acceptable by blob counting
|
||
routine and has power only when <see cref="P:AForge.Imaging.BlobCounterBase.FilterBlobs"/> property is set to
|
||
<see langword="true"/> and <see cref="P:AForge.Imaging.BlobCounterBase.BlobsFilter">custom blobs' filter</see> is
|
||
set to <see langword="null"/>.</para>
|
||
|
||
<para>See documentation to <see cref="P:AForge.Imaging.BlobCounterBase.CoupledSizeFiltering"/> for additional information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounterBase.MaxHeight">
|
||
<summary>
|
||
Maximum allowed height of blob.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies maximum object's height acceptable by blob counting
|
||
routine and has power only when <see cref="P:AForge.Imaging.BlobCounterBase.FilterBlobs"/> property is set to
|
||
<see langword="true"/> and <see cref="P:AForge.Imaging.BlobCounterBase.BlobsFilter">custom blobs' filter</see> is
|
||
set to <see langword="null"/>.</para>
|
||
|
||
<para>See documentation to <see cref="P:AForge.Imaging.BlobCounterBase.CoupledSizeFiltering"/> for additional information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounterBase.BlobsFilter">
|
||
<summary>
|
||
Custom blobs' filter to use.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies custom blobs' filtering routine to use. It has
|
||
effect only in the case if <see cref="P:AForge.Imaging.BlobCounterBase.FilterBlobs"/> property is set to <see langword="true"/>.</para>
|
||
|
||
<para><note>When custom blobs' filtering routine is set, it has priority over default filtering done
|
||
with <see cref="P:AForge.Imaging.BlobCounterBase.MinWidth"/>, <see cref="P:AForge.Imaging.BlobCounterBase.MinHeight"/>, <see cref="P:AForge.Imaging.BlobCounterBase.MaxWidth"/> and <see cref="P:AForge.Imaging.BlobCounterBase.MaxHeight"/>.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.RecursiveBlobCounter.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.RecursiveBlobCounter"/> class.
|
||
</summary>
|
||
|
||
<remarks>Creates new instance of the <see cref="T:AForge.Imaging.RecursiveBlobCounter"/> class with
|
||
an empty objects map. Before using methods, which provide information about blobs
|
||
or extract them, the <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)"/>,
|
||
<see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Imaging.BitmapData)"/> or <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(AForge.Imaging.UnmanagedImage)"/>
|
||
method should be called to collect objects map.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.RecursiveBlobCounter.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.RecursiveBlobCounter"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to look for objects in.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.RecursiveBlobCounter.#ctor(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.RecursiveBlobCounter"/> class.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to look for objects in.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.RecursiveBlobCounter.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.RecursiveBlobCounter"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to look for objects in.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.RecursiveBlobCounter.BuildObjectsMap(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Actual objects map building.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to process.</param>
|
||
|
||
<remarks>The method supports 8 bpp indexed grayscale images and 24/32 bpp color images.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.RecursiveBlobCounter.BackgroundThreshold">
|
||
<summary>
|
||
Background threshold's value.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets threshold value for distinguishing between background
|
||
pixel and objects' pixels. All pixel with values less or equal to this property are
|
||
treated as background, but pixels with higher values are treated as objects' pixels.</para>
|
||
|
||
<para><note>In the case of colour images a pixel is treated as objects' pixel if <b>any</b> of its
|
||
RGB values are higher than corresponding values of this threshold.</note></para>
|
||
|
||
<para><note>For processing grayscale image, set the property with all RGB components eqaul.</note></para>
|
||
|
||
<para>Default value is set to <b>(0, 0, 0)</b> - black colour.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ImageStatisticsHSL">
|
||
<summary>
|
||
Gather statistics about image in HSL color space.
|
||
</summary>
|
||
|
||
<remarks><para>The class is used to accumulate statistical values about images,
|
||
like histogram, mean, standard deviation, etc. for each <b>HSL</b> color channel.</para>
|
||
|
||
<para>The class accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// gather statistics
|
||
ImageStatisticsHSL stat = new ImageStatisticsHSL( image );
|
||
// get saturation channel's histogram
|
||
ContinuousHistogram saturation = stat.Saturation;
|
||
// check mean value of saturation channel
|
||
if ( saturation.Mean > 0.5 )
|
||
{
|
||
// do further processing
|
||
}
|
||
</code>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Math.ContinuousHistogram"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsHSL.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsHSL"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsHSL.#ctor(System.Drawing.Bitmap,System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsHSL"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask image which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask image must be a grayscale/binary (8bpp) image of the same size as the
|
||
specified source image, where black pixels (value 0) correspond to areas which should be excluded
|
||
from processing. So statistics is calculated only for pixels, which are none black in the mask image.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask image must be 8 bpp grayscale image.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsHSL.#ctor(System.Drawing.Bitmap,System.Byte[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsHSL"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask array which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask array must be of the same size as the specified source image, where 0 values
|
||
correspond to areas which should be excluded from processing. So statistics is calculated only for pixels,
|
||
which have none zero corresponding value in the mask.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsHSL.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsHSL"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to gather statistics about.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsHSL.#ctor(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsHSL"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask image which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask image must be a grayscale/binary (8bpp) image of the same size as the
|
||
specified source image, where black pixels (value 0) correspond to areas which should be excluded
|
||
from processing. So statistics is calculated only for pixels, which are none black in the mask image.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask image must be 8 bpp grayscale image.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsHSL.#ctor(AForge.Imaging.UnmanagedImage,System.Byte[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsHSL"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask array which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask array must be of the same size as the specified source image, where 0 values
|
||
correspond to areas which should be excluded from processing. So statistics is calculated only for pixels,
|
||
which have none zero corresponding value in the mask.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsHSL.Saturation">
|
||
<summary>
|
||
Histogram of saturation channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsHSL.Luminance">
|
||
<summary>
|
||
Histogram of luminance channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsHSL.SaturationWithoutBlack">
|
||
<summary>
|
||
Histogram of saturation channel excluding black pixels.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps statistics about saturation channel, which
|
||
excludes all black pixels, what affects mean, standard deviation, etc.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsHSL.LuminanceWithoutBlack">
|
||
<summary>
|
||
Histogram of luminance channel excluding black pixels.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps statistics about luminance channel, which
|
||
excludes all black pixels, what affects mean, standard deviation, etc.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsHSL.PixelsCount">
|
||
<summary>
|
||
Total pixels count in the processed image.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsHSL.PixelsCountWithoutBlack">
|
||
<summary>
|
||
Total pixels count in the processed image excluding black pixels.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.FillHoles">
|
||
<summary>
|
||
Fill holes in objects in binary image.
|
||
</summary>
|
||
|
||
<remarks><para>The filter allows to fill black holes in white object in a binary image.
|
||
It is possible to specify maximum holes' size to fill using <see cref="P:AForge.Imaging.Filters.FillHoles.MaxHoleWidth"/>
|
||
and <see cref="P:AForge.Imaging.Filters.FillHoles.MaxHoleHeight"/> properties.</para>
|
||
|
||
<para>The filter accepts binary image only, which are represented as 8 bpp images.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create and configure the filter
|
||
FillHoles filter = new FillHoles( );
|
||
filter.MaxHoleHeight = 20;
|
||
filter.MaxHoleWidth = 20;
|
||
filter.CoupledSizeFiltering = false;
|
||
// apply the filter
|
||
Bitmap result = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample19.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/filled_holes.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FillHoles.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.FillHoles"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FillHoles.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FillHoles.CoupledSizeFiltering">
|
||
<summary>
|
||
Specifies if size filetering should be coupled or not.
|
||
</summary>
|
||
|
||
<remarks><para>In uncoupled filtering mode, holes are filled in the case if
|
||
their width is smaller than or equal to <see cref="P:AForge.Imaging.Filters.FillHoles.MaxHoleWidth"/> or height is smaller than
|
||
or equal to <see cref="P:AForge.Imaging.Filters.FillHoles.MaxHoleHeight"/>. But in coupled filtering mode, holes are filled only in
|
||
the case if both width and height are smaller or equal to the corresponding value.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>, what means coupled filtering by size.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FillHoles.MaxHoleWidth">
|
||
<summary>
|
||
Maximum width of a hole to fill.
|
||
</summary>
|
||
|
||
<remarks><para>All holes, which have width greater than this value, are kept unfilled.
|
||
See <see cref="P:AForge.Imaging.Filters.FillHoles.CoupledSizeFiltering"/> for additional information.</para>
|
||
|
||
<para>Default value is set to <see cref="F:System.Int32.MaxValue"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FillHoles.MaxHoleHeight">
|
||
<summary>
|
||
Maximum height of a hole to fill.
|
||
</summary>
|
||
|
||
<remarks><para>All holes, which have height greater than this value, are kept unfilled.
|
||
See <see cref="P:AForge.Imaging.Filters.FillHoles.CoupledSizeFiltering"/> for additional information.</para>
|
||
|
||
<para>Default value is set to <see cref="F:System.Int32.MaxValue"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FillHoles.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.CanvasMove">
|
||
<summary>
|
||
Move canvas to the specified point.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The filter moves canvas to the specified area filling unused empty areas with specified color.</para>
|
||
|
||
<para>The filter accepts 8/16 bpp grayscale images and 24/32/48/64 bpp color image
|
||
for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
CanvasMove filter = new CanvasMove( new IntPoint( -50, -50 ), Color.Green );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/canvas_move.jpg" width="480" height="361" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasMove.#ctor(AForge.IntPoint)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasMove"/> class.
|
||
</summary>
|
||
|
||
<param name="movePoint">Point to move the canvas to.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasMove.#ctor(AForge.IntPoint,System.Drawing.Color)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasMove"/> class.
|
||
</summary>
|
||
|
||
<param name="movePoint">Point to move the canvas.</param>
|
||
<param name="fillColorRGB">RGB color to use for filling areas empty areas in color images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasMove.#ctor(AForge.IntPoint,System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasMove"/> class.
|
||
</summary>
|
||
|
||
<param name="movePoint">Point to move the canvas.</param>
|
||
<param name="fillColorGray">Gray color to use for filling empty areas in grayscale images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasMove.#ctor(AForge.IntPoint,System.Drawing.Color,System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasMove"/> class.
|
||
</summary>
|
||
|
||
<param name="movePoint">Point to move the canvas.</param>
|
||
<param name="fillColorRGB">RGB color to use for filling areas empty areas in color images.</param>
|
||
<param name="fillColorGray">Gray color to use for filling empty areas in grayscale images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasMove.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasMove.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasMove.FillColorRGB">
|
||
<summary>
|
||
RGB fill color.
|
||
</summary>
|
||
|
||
<remarks><para>The color is used to fill empty areas in color images.</para>
|
||
|
||
<para>Default value is set to white - ARGB(255, 255, 255, 255).</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasMove.FillColorGray">
|
||
<summary>
|
||
Gray fill color.
|
||
</summary>
|
||
|
||
<remarks><para>The color is used to fill empty areas in grayscale images.</para>
|
||
|
||
<para>Default value is set to white - 255.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasMove.MovePoint">
|
||
<summary>
|
||
Point to move the canvas to.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ReplaceChannel">
|
||
<summary>
|
||
Replace RGB channel of color imgae.
|
||
</summary>
|
||
|
||
<remarks><para>Replaces specified RGB channel of color image with
|
||
specified grayscale image.</para>
|
||
|
||
<para>The filter is quite useful in conjunction with <see cref="T:AForge.Imaging.Filters.ExtractChannel"/> filter
|
||
(however may be used alone in some cases). Using the <see cref="T:AForge.Imaging.Filters.ExtractChannel"/> filter
|
||
it is possible to extract one of RGB channel, perform some image processing with it and then
|
||
put it back into the original color image.</para>
|
||
|
||
<para>The filter accepts 24, 32, 48 and 64 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// extract red channel
|
||
ExtractChannel extractFilter = new ExtractChannel( RGB.R );
|
||
Bitmap channel = extractFilter.Apply( image );
|
||
// threshold channel
|
||
Threshold thresholdFilter = new Threshold( 230 );
|
||
thresholdFilter.ApplyInPlace( channel );
|
||
// put the channel back
|
||
ReplaceChannel replaceFilter = new ReplaceChannel( RGB.R, channel );
|
||
replaceFilter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/replace_channel.jpg" width="480" height="361"/>
|
||
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ExtractChannel"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ReplaceChannel.#ctor(System.Int16,System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ReplaceChannel"/> class.
|
||
</summary>
|
||
|
||
<param name="channel">ARGB channel to replace.</param>
|
||
<param name="channelImage">Channel image to use for replacement.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ReplaceChannel.#ctor(System.Int16,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.YCbCrReplaceChannel"/> class.
|
||
</summary>
|
||
|
||
<param name="channel">RGB channel to replace.</param>
|
||
<param name="channelImage">Unmanaged channel image to use for replacement.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ReplaceChannel.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Channel image size does not match source
|
||
image size.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Channel image's format does not correspond to format of the source image.</exception>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Can not replace alpha channel of none ARGB image. The
|
||
exception is throw, when alpha channel is requested to be replaced in RGB image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ReplaceChannel.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ReplaceChannel.Channel">
|
||
<summary>
|
||
ARGB channel to replace.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see cref="F:AForge.Imaging.RGB.R"/>.</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid channel is specified.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ReplaceChannel.ChannelImage">
|
||
<summary>
|
||
Grayscale image to use for channel replacement.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.ReplaceChannel.UnmanagedChannelImage"/> property -
|
||
only one channel image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Channel image should be 8 bpp indexed or 16 bpp grayscale image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ReplaceChannel.UnmanagedChannelImage">
|
||
<summary>
|
||
Unmanaged grayscale image to use for channel replacement.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.ReplaceChannel.ChannelImage"/> property -
|
||
only one channel image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Channel image should be 8 bpp indexed or 16 bpp grayscale image.</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.GrayscaleRMY">
|
||
<summary>
|
||
Grayscale image using R-Y algorithm.
|
||
</summary>
|
||
|
||
<remarks>The class uses <b>R-Y</b> algorithm to convert color image
|
||
to grayscale. The conversion coefficients are:
|
||
<list type="bullet">
|
||
<item>Red: 0.5;</item>
|
||
<item>Green: 0.419;</item>
|
||
<item>Blue: 0.081.</item>
|
||
</list>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Grayscale"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.GrayscaleBT709"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.GrayscaleY"/>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Grayscale">
|
||
<summary>
|
||
Base class for image grayscaling.
|
||
</summary>
|
||
|
||
<remarks><para>This class is the base class for image grayscaling. Other
|
||
classes should inherit from this class and specify <b>RGB</b>
|
||
coefficients used for color image conversion to grayscale.</para>
|
||
|
||
<para>The filter accepts 24, 32, 48 and 64 bpp color images and produces
|
||
8 (if source is 24 or 32 bpp image) or 16 (if source is 48 or 64 bpp image)
|
||
bpp grayscale image.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create grayscale filter (BT709)
|
||
Grayscale filter = new Grayscale( 0.2125, 0.7154, 0.0721 );
|
||
// apply the filter
|
||
Bitmap grayImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/grayscale.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.GrayscaleBT709"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.GrayscaleRMY"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.GrayscaleY"/>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.Grayscale.RedCoefficient">
|
||
<summary>
|
||
Portion of red channel's value to use during conversion from RGB to grayscale.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.Grayscale.GreenCoefficient">
|
||
<summary>
|
||
Portion of green channel's value to use during conversion from RGB to grayscale.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.Grayscale.BlueCoefficient">
|
||
<summary>
|
||
Portion of blue channel's value to use during conversion from RGB to grayscale.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Grayscale.#ctor(System.Double,System.Double,System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Grayscale"/> class.
|
||
</summary>
|
||
|
||
<param name="cr">Red coefficient.</param>
|
||
<param name="cg">Green coefficient.</param>
|
||
<param name="cb">Blue coefficient.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Grayscale.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Grayscale.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Grayscale.CommonAlgorithms">
|
||
<summary>
|
||
Set of predefined common grayscaling algorithms, which have aldready initialized
|
||
grayscaling coefficients.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.Grayscale.CommonAlgorithms.BT709">
|
||
<summary>
|
||
Grayscale image using BT709 algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The instance uses <b>BT709</b> algorithm to convert color image
|
||
to grayscale. The conversion coefficients are:
|
||
<list type="bullet">
|
||
<item>Red: 0.2125;</item>
|
||
<item>Green: 0.7154;</item>
|
||
<item>Blue: 0.0721.</item>
|
||
</list></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// apply the filter
|
||
Bitmap grayImage = Grayscale.CommonAlgorithms.BT709.Apply( image );
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.Grayscale.CommonAlgorithms.RMY">
|
||
<summary>
|
||
Grayscale image using R-Y algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The instance uses <b>R-Y</b> algorithm to convert color image
|
||
to grayscale. The conversion coefficients are:
|
||
<list type="bullet">
|
||
<item>Red: 0.5;</item>
|
||
<item>Green: 0.419;</item>
|
||
<item>Blue: 0.081.</item>
|
||
</list></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// apply the filter
|
||
Bitmap grayImage = Grayscale.CommonAlgorithms.RMY.Apply( image );
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.Grayscale.CommonAlgorithms.Y">
|
||
<summary>
|
||
Grayscale image using Y algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The instance uses <b>Y</b> algorithm to convert color image
|
||
to grayscale. The conversion coefficients are:
|
||
<list type="bullet">
|
||
<item>Red: 0.299;</item>
|
||
<item>Green: 0.587;</item>
|
||
<item>Blue: 0.114.</item>
|
||
</list></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// apply the filter
|
||
Bitmap grayImage = Grayscale.CommonAlgorithms.Y.Apply( image );
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GrayscaleRMY.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GrayscaleRMY"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ThresholdWithCarry">
|
||
<summary>
|
||
Threshold binarization with error carry.
|
||
</summary>
|
||
|
||
<remarks><para>The filter is similar to <see cref="T:AForge.Imaging.Filters.Threshold"/> filter in the way,
|
||
that it also uses threshold value for image binarization. Unlike regular threshold
|
||
filter, this filter uses cumulative pixel value in comparing with threshold value.
|
||
If cumulative pixel value is below threshold value, then image pixel becomes black.
|
||
If cumulative pixel value is equal or higher than threshold value, then image pixel
|
||
becomes white and cumulative pixel value is decreased by 255. In the beginning of each
|
||
image line the cumulative value is reset to 0.
|
||
</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Threshold filter = new Threshold( 100 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/grayscale.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/threshold_carry.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ThresholdWithCarry.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ThresholdWithCarry"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ThresholdWithCarry.#ctor(System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ThresholdWithCarry"/> class.
|
||
</summary>
|
||
|
||
<param name="threshold">Threshold value.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ThresholdWithCarry.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ThresholdWithCarry.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ThresholdWithCarry.ThresholdValue">
|
||
<summary>
|
||
Threshold value.
|
||
</summary>
|
||
|
||
<remarks>Default value is 128.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.BurkesColorDithering">
|
||
<summary>
|
||
Color dithering using Burkes error diffusion.
|
||
</summary>
|
||
|
||
<remarks><para>The image processing routine represents color dithering algorithm, which is based on
|
||
error diffusion dithering with Burkes coefficients. Error is diffused
|
||
on 7 neighbor pixels with next coefficients:</para>
|
||
<code lang="none">
|
||
| * | 8 | 4 |
|
||
| 2 | 4 | 8 | 4 | 2 |
|
||
|
||
/ 32
|
||
</code>
|
||
|
||
<para>The image processing routine accepts 24/32 bpp color images for processing. As a result this routine
|
||
produces 4 bpp or 8 bpp indexed image, which depends on size of the specified
|
||
<see cref="P:AForge.Imaging.ColorReduction.ErrorDiffusionColorDithering.ColorTable">color table</see> - 4 bpp result for
|
||
color tables with 16 colors or less; 8 bpp result for larger color tables.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create color image quantization routine
|
||
ColorImageQuantizer ciq = new ColorImageQuantizer( new MedianCutQuantizer( ) );
|
||
// create 8 colors table
|
||
Color[] colorTable = ciq.CalculatePalette( image, 8 );
|
||
// create dithering routine
|
||
BurkesColorDithering dithering = new BurkesColorDithering( );
|
||
dithering.ColorTable = colorTable;
|
||
// apply the dithering routine
|
||
Bitmap newImage = dithering.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/color_burkes.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.FloydSteinbergColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.JarvisJudiceNinkeColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.SierraColorDithering"/>
|
||
<seealso cref="T:AForge.Imaging.ColorReduction.StuckiColorDithering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.BurkesColorDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ColorReduction.BurkesColorDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.MoravecCornersDetector">
|
||
<summary>
|
||
Moravec corners detector.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements Moravec corners detector. For information about algorithm's
|
||
details its <a href="http://www.cim.mcgill.ca/~dparks/CornerDetector/mainMoravec.htm">description</a>
|
||
should be studied.</para>
|
||
|
||
<para><note>Due to limitations of Moravec corners detector (anisotropic response, etc.) its usage is limited
|
||
to certain cases only.</note></para>
|
||
|
||
<para>The class processes only grayscale 8 bpp and color 24/32 bpp images.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create corner detector's instance
|
||
MoravecCornersDetector mcd = new MoravecCornersDetector( );
|
||
// process image searching for corners
|
||
List<IntPoint> corners = scd.ProcessImage( image );
|
||
// process points
|
||
foreach ( IntPoint corner in corners )
|
||
{
|
||
// ...
|
||
}
|
||
</code>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.SusanCornersDetector"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.MoravecCornersDetector.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.MoravecCornersDetector"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.MoravecCornersDetector.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.MoravecCornersDetector"/> class.
|
||
</summary>
|
||
|
||
<param name="threshold">Threshold value, which is used to filter out uninteresting points.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.MoravecCornersDetector.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.MoravecCornersDetector"/> class.
|
||
</summary>
|
||
|
||
<param name="threshold">Threshold value, which is used to filter out uninteresting points.</param>
|
||
<param name="windowSize">Window size used to determine if point is interesting.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.MoravecCornersDetector.ProcessImage(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Process image looking for corners.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
|
||
<returns>Returns array of found corners (X-Y coordinates).</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.MoravecCornersDetector.ProcessImage(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Process image looking for corners.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to process.</param>
|
||
|
||
<returns>Returns array of found corners (X-Y coordinates).</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.MoravecCornersDetector.ProcessImage(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process image looking for corners.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged source image to process.</param>
|
||
|
||
<returns>Returns array of found corners (X-Y coordinates).</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.MoravecCornersDetector.WindowSize">
|
||
<summary>
|
||
Window size used to determine if point is interesting, [3, 15].
|
||
</summary>
|
||
|
||
<remarks><para>The value specifies window size, which is used for initial searching of
|
||
corners candidates and then for searching local maximums.</para>
|
||
|
||
<para>Default value is set to <b>3</b>.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Setting value is not odd.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.MoravecCornersDetector.Threshold">
|
||
<summary>
|
||
Threshold value, which is used to filter out uninteresting points.
|
||
</summary>
|
||
|
||
<remarks><para>The value is used to filter uninteresting points - points which have value below
|
||
specified threshold value are treated as not corners candidates. Increasing this value decreases
|
||
the amount of detected point.</para>
|
||
|
||
<para>Default value is set to <b>500</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Mirror">
|
||
<summary>
|
||
Mirroring filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter mirrors image around X and/or Y axis (horizontal and vertical
|
||
mirroring).</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Mirror filter = new Mirror( false, true );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/mirror.jpg" width="480" height="361" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Mirror.#ctor(System.Boolean,System.Boolean)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Mirror"/> class.
|
||
</summary>
|
||
|
||
<param name="mirrorX">Specifies if mirroring should be done for X axis.</param>
|
||
<param name="mirrorY">Specifies if mirroring should be done for Y axis</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Mirror.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Mirror.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Mirror.MirrorX">
|
||
<summary>
|
||
Specifies if mirroring should be done for X axis (horizontal mirroring).
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Mirror.MirrorY">
|
||
<summary>
|
||
Specifies if mirroring should be done for Y axis (vertical mirroring).
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.MaskedFilter">
|
||
<summary>
|
||
Apply filter according to the specified mask.
|
||
</summary>
|
||
|
||
<remarks><para>The image processing routine applies the specified <see cref="P:AForge.Imaging.Filters.MaskedFilter.BaseFilter"/> to
|
||
a source image according to the specified mask - if a pixel/value in the specified mask image/array
|
||
is set to 0, then the original pixel's value is kept; otherwise the pixel is filtered using the
|
||
specified base filter.</para>
|
||
|
||
<para>Mask can be specified as <see cref="P:AForge.Imaging.Filters.MaskedFilter.MaskImage">.NET's managed Bitmap</see>, as
|
||
<see cref="P:AForge.Imaging.Filters.MaskedFilter.UnmanagedMaskImage">UnmanagedImage</see> or as <see cref="P:AForge.Imaging.Filters.MaskedFilter.Mask">byte array</see>.
|
||
In the case if mask is specified as image, it must be 8 bpp grayscale image. In all case
|
||
mask size must be the same as size of the image to process.</para>
|
||
|
||
<para><note>Pixel formats accepted by this filter are specified by the <see cref="P:AForge.Imaging.Filters.MaskedFilter.BaseFilter"/>.</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create the filter
|
||
MaskedFilter maskedFilter = new MaskedFilter( new Sepia( ), maskImage );
|
||
// apply the filter
|
||
maskedFilter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Mask image:</b></para>
|
||
<img src="img/imaging/mask.png" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/masked_image.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.MaskedFilter.#ctor(AForge.Imaging.Filters.IFilter,System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.MaskedFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="baseFiler"><see cref="P:AForge.Imaging.Filters.MaskedFilter.BaseFilter">Base filter</see> to apply to the specified source image.</param>
|
||
<param name="maskImage"><see cref="P:AForge.Imaging.Filters.MaskedFilter.MaskImage">Mask image</see> to use.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.MaskedFilter.#ctor(AForge.Imaging.Filters.IFilter,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.MaskedFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="baseFiler"><see cref="P:AForge.Imaging.Filters.MaskedFilter.BaseFilter">Base filter</see> to apply to the specified source image.</param>
|
||
<param name="unmanagedMaskImage"><see cref="P:AForge.Imaging.Filters.MaskedFilter.UnmanagedMaskImage">Unmanaged mask image</see> to use.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.MaskedFilter.#ctor(AForge.Imaging.Filters.IFilter,System.Byte[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.MaskedFilter"/> class.
|
||
</summary>
|
||
|
||
<param name="baseFiler"><see cref="P:AForge.Imaging.Filters.MaskedFilter.BaseFilter">Base filter</see> to apply to the specified source image.</param>
|
||
<param name="mask"><see cref="P:AForge.Imaging.Filters.MaskedFilter.Mask"/> to use.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.MaskedFilter.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<exception cref="T:System.NullReferenceException">None of the possible mask properties were set. Need to provide mask before applying the filter.</exception>
|
||
<exception cref="T:System.ArgumentException">Invalid size of provided mask. Its size must be the same as the size of the image to mask.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.MaskedFilter.BaseFilter">
|
||
<summary>
|
||
Base filter to apply to the source image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies base filter which is applied to the specified source
|
||
image (to all pixels which have corresponding none 0 value in mask image/array).</para>
|
||
|
||
<para><note>The base filter must implement <see cref="T:AForge.Imaging.Filters.IFilterInformation"/> interface.</note></para>
|
||
|
||
<para><note>The base filter must never change image's pixel format. For example, if source
|
||
image's pixel format is 24 bpp color image, then it must stay the same after the base
|
||
filter is applied.</note></para>
|
||
|
||
<para><note>The base filter must never change size of the source image.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.NullReferenceException">Base filter can not be set to null.</exception>
|
||
<exception cref="T:System.ArgumentException">The specified base filter must implement IFilterInformation interface.</exception>
|
||
<exception cref="T:System.ArgumentException">The specified filter must never change pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.MaskedFilter.MaskImage">
|
||
<summary>
|
||
Mask image to apply.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies mask image to use. The image must be grayscale
|
||
(8 bpp format) and have the same size as the source image to process.</para>
|
||
|
||
<para>When the property is set, both <see cref="P:AForge.Imaging.Filters.MaskedFilter.UnmanagedMaskImage"/> and
|
||
<see cref="P:AForge.Imaging.Filters.MaskedFilter.Mask"/> properties are set to <see langword="null"/>.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">The mask image must be 8 bpp grayscale image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.MaskedFilter.UnmanagedMaskImage">
|
||
<summary>
|
||
Unmanaged mask image to apply.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies unmanaged mask image to use. The image must be grayscale
|
||
(8 bpp format) and have the same size as the source image to process.</para>
|
||
|
||
<para>When the property is set, both <see cref="P:AForge.Imaging.Filters.MaskedFilter.MaskImage"/> and
|
||
<see cref="P:AForge.Imaging.Filters.MaskedFilter.Mask"/> properties are set to <see langword="null"/>.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">The mask image must be 8 bpp grayscale image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.MaskedFilter.Mask">
|
||
<summary>
|
||
Mask to apply.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies mask array to use. Size of the array must
|
||
be the same size as the size of the source image to process - its 0<sup>th</sup> dimension
|
||
must be equal to image's height and its 1<sup>st</sup> dimension must be equal to width. For
|
||
example, for 640x480 image, the mask array must be defined as:
|
||
<code>
|
||
byte[,] mask = new byte[480, 640];
|
||
</code>
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.MaskedFilter.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para>
|
||
|
||
<para><note>The property returns format translation table from the
|
||
<see cref="P:AForge.Imaging.Filters.MaskedFilter.BaseFilter"/>.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Jitter">
|
||
<summary>
|
||
Jitter filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter moves each pixel of a source image in
|
||
random direction within a window of specified <see cref="P:AForge.Imaging.Filters.Jitter.Radius">radius</see>.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Jitter filter = new Jitter( 4 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/jitter.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Jitter.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Jitter"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Jitter.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Jitter"/> class.
|
||
</summary>
|
||
|
||
<param name="radius">Jittering radius.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Jitter.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Jitter.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Jitter.Radius">
|
||
<summary>
|
||
Jittering radius, [1, 10]
|
||
</summary>
|
||
|
||
<remarks><para>Determines radius in which pixels can move.</para>
|
||
|
||
<para>Default value is set to <b>2</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.CanvasFill">
|
||
<summary>
|
||
Fill areas iniside of the specified region.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The filter fills areas inside of specified region using the specified color.</para>
|
||
|
||
<para>The filter accepts 8bpp grayscale and 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
CanvasFill filter = new CanvasFill( new Rectangle(
|
||
5, 5, image.Width - 10, image.Height - 10 ), Color.Red );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.CanvasCrop"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasFill.#ctor(System.Drawing.Rectangle)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasFill"/> class.
|
||
</summary>
|
||
|
||
<param name="region">Region to fill.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasFill.#ctor(System.Drawing.Rectangle,System.Drawing.Color)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasFill"/> class.
|
||
</summary>
|
||
|
||
<param name="region">Region to fill.</param>
|
||
<param name="fillColorRGB">RGB color to use for filling areas inside of specified region in color images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasFill.#ctor(System.Drawing.Rectangle,System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasFill"/> class.
|
||
</summary>
|
||
|
||
<param name="region">Region to fill.</param>
|
||
<param name="fillColorGray">Gray color to use for filling areas inside of specified region in grayscale images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasFill.#ctor(System.Drawing.Rectangle,System.Drawing.Color,System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasFill"/> class.
|
||
</summary>
|
||
|
||
<param name="region">Region to fill.</param>
|
||
<param name="fillColorRGB">RGB color to use for filling areas inside of specified region in color images.</param>
|
||
<param name="fillColorGray">Gray color to use for filling areas inside of specified region in grayscale images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasFill.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasFill.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasFill.FillColorRGB">
|
||
<summary>
|
||
RGB fill color.
|
||
</summary>
|
||
|
||
<remarks><para>The color is used to fill areas out of specified region in color images.</para>
|
||
|
||
<para>Default value is set to white - RGB(255, 255, 255).</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasFill.FillColorGray">
|
||
<summary>
|
||
Gray fill color.
|
||
</summary>
|
||
|
||
<remarks><para>The color is used to fill areas out of specified region in grayscale images.</para>
|
||
|
||
<para>Default value is set to white - 255.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasFill.Region">
|
||
<summary>
|
||
Region to fill.
|
||
</summary>
|
||
|
||
<remarks>Pixels inside of the specified region will be filled with specified color.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.HistogramEqualization">
|
||
<summary>
|
||
Histogram equalization filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter does histogram equalization increasing local contrast in images. The effect
|
||
of histogram equalization can be better seen on images, where pixel values have close contrast values.
|
||
Through this adjustment, pixels intensities can be better distributed on the histogram. This allows for
|
||
areas of lower local contrast to gain a higher contrast without affecting the global contrast.
|
||
</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32 bpp
|
||
color images for processing.</para>
|
||
|
||
<para><note>For color images the histogram equalization is applied to each color plane separately.</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
HistogramEqualization filter = new HistogramEqualization( );
|
||
// process image
|
||
filter.ApplyInPlace( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample5.jpg" width="480" height="387" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/equalized.jpg" width="480" height="387" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HistogramEqualization.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HistogramEqualization"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HistogramEqualization.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HistogramEqualization.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ExtractChannel">
|
||
<summary>
|
||
Extract RGB channel from image.
|
||
</summary>
|
||
|
||
<remarks><para>Extracts specified channel of color image and returns
|
||
it as grayscale image.</para>
|
||
|
||
<para>The filter accepts 24, 32, 48 and 64 bpp color images and produces
|
||
8 (if source is 24 or 32 bpp image) or 16 (if source is 48 or 64 bpp image)
|
||
bpp grayscale image.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ExtractChannel filter = new ExtractChannel( RGB.G );
|
||
// apply the filter
|
||
Bitmap channelImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/extract_channel.jpg" width="480" height="361"/>
|
||
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ReplaceChannel"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ExtractChannel.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ExtractChannel"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ExtractChannel.#ctor(System.Int16)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ExtractChannel"/> class.
|
||
</summary>
|
||
|
||
<param name="channel">ARGB channel to extract.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ExtractChannel.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Can not extract alpha channel from none ARGB image. The
|
||
exception is throw, when alpha channel is requested from RGB image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ExtractChannel.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ExtractChannel.Channel">
|
||
<summary>
|
||
ARGB channel to extract.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see cref="F:AForge.Imaging.RGB.R"/>.</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid channel is specified.</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.FloydSteinbergDithering">
|
||
<summary>
|
||
Dithering using Floyd-Steinberg error diffusion.
|
||
</summary>
|
||
|
||
<remarks><para>The filter represents binarization filter, which is based on
|
||
error diffusion dithering with <a href="http://en.wikipedia.org/wiki/Floyd%E2%80%93Steinberg_dithering">Floyd-Steinberg</a>
|
||
coefficients. Error is diffused on 4 neighbor pixels with next coefficients:</para>
|
||
|
||
<code lang="none">
|
||
| * | 7 |
|
||
| 3 | 5 | 1 |
|
||
|
||
/ 16
|
||
</code>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
FloydSteinbergDithering filter = new FloydSteinbergDithering( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/grayscale.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/floyd_steinberg.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.BurkesDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.JarvisJudiceNinkeDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.SierraDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.StuckiDithering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FloydSteinbergDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.FloydSteinbergDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Image">
|
||
<summary>
|
||
Core image relatad methods.
|
||
</summary>
|
||
|
||
<remarks>All methods of this class are static and represent general routines
|
||
used by different image processing classes.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Image.IsGrayscale(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Check if specified 8 bpp image is grayscale.
|
||
</summary>
|
||
|
||
<param name="image">Image to check.</param>
|
||
|
||
<returns>Returns <b>true</b> if the image is grayscale or <b>false</b> otherwise.</returns>
|
||
|
||
<remarks>The methods checks if the image is a grayscale image of 256 gradients.
|
||
The method first examines if the image's pixel format is
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format8bppIndexed</see>
|
||
and then it examines its palette to check if the image is grayscale or not.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Image.CreateGrayscaleImage(System.Int32,System.Int32)">
|
||
<summary>
|
||
Create and initialize new 8 bpp grayscale image.
|
||
</summary>
|
||
|
||
<param name="width">Image width.</param>
|
||
<param name="height">Image height.</param>
|
||
|
||
<returns>Returns the created grayscale image.</returns>
|
||
|
||
<remarks>The method creates new 8 bpp grayscale image and initializes its palette.
|
||
Grayscale image is represented as
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format8bppIndexed</see>
|
||
image with palette initialized to 256 gradients of gray color.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Image.SetGrayscalePalette(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Set pallete of the 8 bpp indexed image to grayscale.
|
||
</summary>
|
||
|
||
<param name="image">Image to initialize.</param>
|
||
|
||
<remarks>The method initializes palette of
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format8bppIndexed</see>
|
||
image with 256 gradients of gray color.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Provided image is not 8 bpp indexed image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Image.Clone(System.Drawing.Bitmap,System.Drawing.Imaging.PixelFormat)">
|
||
<summary>
|
||
Clone image.
|
||
</summary>
|
||
|
||
<param name="source">Source image.</param>
|
||
<param name="format">Pixel format of result image.</param>
|
||
|
||
<returns>Returns clone of the source image with specified pixel format.</returns>
|
||
|
||
<remarks>The original <see cref="M:System.Drawing.Bitmap.Clone(System.Drawing.Rectangle,System.Drawing.Imaging.PixelFormat)">Bitmap.Clone()</see>
|
||
does not produce the desired result - it does not create a clone with specified pixel format.
|
||
More of it, the original method does not create an actual clone - it does not create a copy
|
||
of the image. That is why this method was implemented to provide the functionality.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Image.Clone(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Clone image.
|
||
</summary>
|
||
|
||
<param name="source">Source image.</param>
|
||
|
||
<returns>Return clone of the source image.</returns>
|
||
|
||
<remarks>The original <see cref="M:System.Drawing.Bitmap.Clone(System.Drawing.Rectangle,System.Drawing.Imaging.PixelFormat)">Bitmap.Clone()</see>
|
||
does not produce the desired result - it does not create an actual clone (it does not create a copy
|
||
of the image). That is why this method was implemented to provide the functionality.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Image.Clone(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Clone image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>Clones image from source image data. The message does not clone pallete in the
|
||
case if the source image has indexed pixel format.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Image.FormatImage(System.Drawing.Bitmap@)">
|
||
<summary>
|
||
Format an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to format.</param>
|
||
|
||
<remarks><para>Formats the image to one of the formats, which are supported
|
||
by the <b>AForge.Imaging</b> library. The image is left untouched in the
|
||
case if it is already of
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format24bppRgb</see> or
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format32bppRgb</see> or
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format32bppArgb</see> or
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format48bppRgb</see> or
|
||
<see cref="T:System.Drawing.Imaging.PixelFormat">Format64bppArgb</see>
|
||
format or it is <see cref="M:AForge.Imaging.Image.IsGrayscale(System.Drawing.Bitmap)">grayscale</see>, otherwise the image
|
||
is converted to <see cref="T:System.Drawing.Imaging.PixelFormat">Format24bppRgb</see>
|
||
format.</para>
|
||
|
||
<para><note>The method is deprecated and <see cref="M:AForge.Imaging.Image.Clone(System.Drawing.Bitmap,System.Drawing.Imaging.PixelFormat)"/> method should
|
||
be used instead with specifying desired pixel format.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Image.FromFile(System.String)">
|
||
<summary>
|
||
Load bitmap from file.
|
||
</summary>
|
||
|
||
<param name="fileName">File name to load bitmap from.</param>
|
||
|
||
<returns>Returns loaded bitmap.</returns>
|
||
|
||
<remarks><para>The method is provided as an alternative of <see cref="M:System.Drawing.Image.FromFile(System.String)"/>
|
||
method to solve the issues of locked file. The standard .NET's method locks the source file until
|
||
image's object is disposed, so the file can not be deleted or overwritten. This method workarounds the issue and
|
||
does not lock the source file.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
Bitmap image = AForge.Imaging.Image.FromFile( "test.jpg" );
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Image.Convert16bppTo8bpp(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Convert bitmap with 16 bits per plane to a bitmap with 8 bits per plane.
|
||
</summary>
|
||
|
||
<param name="bimap">Source image to convert.</param>
|
||
|
||
<returns>Returns new image which is a copy of the source image but with 8 bits per plane.</returns>
|
||
|
||
<remarks><para>The routine does the next pixel format conversions:
|
||
<list type="bullet">
|
||
<item><see cref="F:System.Drawing.Imaging.PixelFormat.Format16bppGrayScale">Format16bppGrayScale</see> to
|
||
<see cref="F:System.Drawing.Imaging.PixelFormat.Format8bppIndexed">Format8bppIndexed</see> with grayscale palette;</item>
|
||
<item><see cref="F:System.Drawing.Imaging.PixelFormat.Format48bppRgb">Format48bppRgb</see> to
|
||
<see cref="F:System.Drawing.Imaging.PixelFormat.Format24bppRgb">Format24bppRgb</see>;</item>
|
||
<item><see cref="F:System.Drawing.Imaging.PixelFormat.Format64bppArgb">Format64bppArgb</see> to
|
||
<see cref="F:System.Drawing.Imaging.PixelFormat.Format32bppArgb">Format32bppArgb</see>;</item>
|
||
<item><see cref="F:System.Drawing.Imaging.PixelFormat.Format64bppPArgb">Format64bppPArgb</see> to
|
||
<see cref="F:System.Drawing.Imaging.PixelFormat.Format32bppPArgb">Format32bppPArgb</see>.</item>
|
||
</list>
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Invalid pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Image.Convert8bppTo16bpp(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Convert bitmap with 8 bits per plane to a bitmap with 16 bits per plane.
|
||
</summary>
|
||
|
||
<param name="bimap">Source image to convert.</param>
|
||
|
||
<returns>Returns new image which is a copy of the source image but with 16 bits per plane.</returns>
|
||
|
||
<remarks><para>The routine does the next pixel format conversions:
|
||
<list type="bullet">
|
||
<item><see cref="F:System.Drawing.Imaging.PixelFormat.Format8bppIndexed">Format8bppIndexed</see> (grayscale palette assumed) to
|
||
<see cref="F:System.Drawing.Imaging.PixelFormat.Format16bppGrayScale">Format16bppGrayScale</see>;</item>
|
||
<item><see cref="F:System.Drawing.Imaging.PixelFormat.Format24bppRgb">Format24bppRgb</see> to
|
||
<see cref="F:System.Drawing.Imaging.PixelFormat.Format48bppRgb">Format48bppRgb</see>;</item>
|
||
<item><see cref="F:System.Drawing.Imaging.PixelFormat.Format32bppArgb">Format32bppArgb</see> to
|
||
<see cref="F:System.Drawing.Imaging.PixelFormat.Format64bppArgb">Format64bppArgb</see>;</item>
|
||
<item><see cref="F:System.Drawing.Imaging.PixelFormat.Format32bppPArgb">Format32bppPArgb</see> to
|
||
<see cref="F:System.Drawing.Imaging.PixelFormat.Format64bppPArgb">Format64bppPArgb</see>.</item>
|
||
</list>
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Invalid pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.YCbCrLinear">
|
||
<summary>
|
||
Linear correction of YCbCr channels.
|
||
</summary>
|
||
|
||
<remarks><para>The filter operates in <b>YCbCr</b> color space and provides
|
||
with the facility of linear correction of its channels - mapping specified channels'
|
||
input ranges to specified output ranges.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
YCbCrLinear filter = new YCbCrLinear( );
|
||
// configure the filter
|
||
filter.InCb = new Range( -0.276f, 0.163f );
|
||
filter.InCr = new Range( -0.202f, 0.500f );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/ycbcr_linear.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.HSLLinear"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.YCbCrLinear"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrLinear.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.YCbCrLinear"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrLinear.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrLinear.InY">
|
||
<summary>
|
||
Y component's input range.
|
||
</summary>
|
||
|
||
<remarks>Y component is measured in the range of [0, 1].</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrLinear.InCb">
|
||
<summary>
|
||
Cb component's input range.
|
||
</summary>
|
||
|
||
<remarks>Cb component is measured in the range of [-0.5, 0.5].</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrLinear.InCr">
|
||
<summary>
|
||
Cr component's input range.
|
||
</summary>
|
||
|
||
<remarks>Cr component is measured in the range of [-0.5, 0.5].</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrLinear.OutY">
|
||
<summary>
|
||
Y component's output range.
|
||
</summary>
|
||
|
||
<remarks>Y component is measured in the range of [0, 1].</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrLinear.OutCb">
|
||
<summary>
|
||
Cb component's output range.
|
||
</summary>
|
||
|
||
<remarks>Cb component is measured in the range of [-0.5, 0.5].</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrLinear.OutCr">
|
||
<summary>
|
||
Cr component's output range.
|
||
</summary>
|
||
|
||
<remarks>Cr component is measured in the range of [-0.5, 0.5].</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrLinear.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ResizeBilinear">
|
||
<summary>
|
||
Resize image using bilinear interpolation algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements image resizing filter using bilinear
|
||
interpolation algorithm.</para>
|
||
|
||
<para>The filter accepts 8 grayscale images and 24/32 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ResizeBilinear filter = new ResizeBilinear( 400, 300 );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample9.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/resize_bilinear.png" width="400" height="300"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ResizeNearestNeighbor"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.ResizeBicubic"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ResizeBilinear.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ResizeBilinear"/> class.
|
||
</summary>
|
||
|
||
<param name="newWidth">Width of the new image.</param>
|
||
<param name="newHeight">Height of the new image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ResizeBilinear.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ResizeBilinear.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.OilPainting">
|
||
<summary>
|
||
Oil painting filter.
|
||
</summary>
|
||
|
||
<remarks><para>Processing source image the filter changes each pixels' value
|
||
to the value of pixel with the most frequent intensity within window of the
|
||
<see cref="P:AForge.Imaging.Filters.OilPainting.BrushSize">specified size</see>. Going through the window the filters
|
||
finds which intensity of pixels is the most frequent. Then it updates value
|
||
of the pixel in the center of the window to the value with the most frequent
|
||
intensity. The update procedure creates the effect of oil painting.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
OilPainting filter = new OilPainting( 15 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/oil_painting.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OilPainting.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.OilPainting"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OilPainting.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.OilPainting"/> class.
|
||
</summary>
|
||
|
||
<param name="brushSize">Brush size.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OilPainting.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.OilPainting.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.OilPainting.BrushSize">
|
||
<summary>
|
||
Brush size, [3, 21].
|
||
</summary>
|
||
|
||
<remarks><para>Window size to search for most frequent pixels' intensity.</para>
|
||
|
||
<para>Default value is set to <b>5</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ExtractNormalizedRGBChannel">
|
||
<summary>
|
||
Extract normalized RGB channel from color image.
|
||
</summary>
|
||
|
||
<remarks><para>Extracts specified normalized RGB channel of color image and returns
|
||
it as grayscale image.</para>
|
||
|
||
<para><note>Normalized RGB color space is defined as:
|
||
<code lang="none">
|
||
r = R / (R + G + B ),
|
||
g = G / (R + G + B ),
|
||
b = B / (R + G + B ),
|
||
</code>
|
||
where <b>R</b>, <b>G</b> and <b>B</b> are components of RGB color space and
|
||
<b>r</b>, <b>g</b> and <b>b</b> are components of normalized RGB color space.
|
||
</note></para>
|
||
|
||
<para>The filter accepts 24, 32, 48 and 64 bpp color images and produces
|
||
8 (if source is 24 or 32 bpp image) or 16 (if source is 48 or 64 bpp image)
|
||
bpp grayscale image.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ExtractNormalizedRGBChannel filter = new ExtractNormalizedRGBChannel( RGB.G );
|
||
// apply the filter
|
||
Bitmap channelImage = filter.Apply( image );
|
||
</code>
|
||
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ExtractChannel"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ExtractNormalizedRGBChannel.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ExtractNormalizedRGBChannel"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ExtractNormalizedRGBChannel.#ctor(System.Int16)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ExtractNormalizedRGBChannel"/> class.
|
||
</summary>
|
||
|
||
<param name="channel">Normalized RGB channel to extract.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ExtractNormalizedRGBChannel.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ExtractNormalizedRGBChannel.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ExtractNormalizedRGBChannel.Channel">
|
||
<summary>
|
||
Normalized RGB channel to extract.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see cref="F:AForge.Imaging.RGB.R"/>.</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid channel is specified.</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BinaryDilatation3x3">
|
||
<summary>
|
||
Binary dilatation operator from Mathematical Morphology with 3x3 structuring element.
|
||
</summary>
|
||
|
||
<remarks><para>The filter represents an optimized version of <see cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
filter, which is aimed for binary images (containing black and white pixels) processed
|
||
with 3x3 structuring element. This makes this filter ideal for growing objects in binary
|
||
images – it puts white pixel to the destination image in the case if there is at least
|
||
one white neighbouring pixel in the source image.</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.Dilatation"/> filter, which represents generic version of
|
||
dilatation filter supporting custom structuring elements and wider range of image formats.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale (binary) images for processing.</para>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Dilatation3x3"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BinaryDilatation3x3.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BinaryDilatation3x3"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BinaryDilatation3x3.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Processing rectangle mast be at least 3x3 in size.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BinaryDilatation3x3.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.SobelEdgeDetector">
|
||
<summary>
|
||
Sobel edge detector.
|
||
</summary>
|
||
|
||
<remarks><para>The filter searches for objects' edges by applying Sobel operator.</para>
|
||
|
||
<para>Each pixel of the result image is calculated as approximated absolute gradient
|
||
magnitude for corresponding pixel of the source image:
|
||
<code lang="none">
|
||
|G| = |Gx| + |Gy] ,
|
||
</code>
|
||
where Gx and Gy are calculate utilizing Sobel convolution kernels:
|
||
<code lang="none">
|
||
Gx Gy
|
||
-1 0 +1 +1 +2 +1
|
||
-2 0 +2 0 0 0
|
||
-1 0 +1 -1 -2 -1
|
||
</code>
|
||
Using the above kernel the approximated magnitude for pixel <b>x</b> is calculate using
|
||
the next equation:
|
||
<code lang="none">
|
||
P1 P2 P3
|
||
P8 x P4
|
||
P7 P6 P5
|
||
|
||
|G| = |P1 + 2P2 + P3 - P7 - 2P6 - P5| +
|
||
|P3 + 2P4 + P5 - P1 - 2P8 - P7|
|
||
</code>
|
||
</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
SobelEdgeDetector filter = new SobelEdgeDetector( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample2.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/sobel_edges.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.DifferenceEdgeDetector"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.HomogenityEdgeDetector"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SobelEdgeDetector.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SobelEdgeDetector"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SobelEdgeDetector.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SobelEdgeDetector.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SobelEdgeDetector.ScaleIntensity">
|
||
<summary>
|
||
Scale intensity or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property determines if edges' pixels intensities of the result image
|
||
should be scaled in the range of the lowest and the highest possible intensity
|
||
values.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Sharpen">
|
||
<summary>
|
||
Sharpen filter
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs <see cref="T:AForge.Imaging.Filters.Convolution">convolution filter</see> using
|
||
the sharpen kernel:</para>
|
||
|
||
<code lang="none">
|
||
0 -1 0
|
||
-1 5 -1
|
||
0 -1 0
|
||
</code>
|
||
|
||
<para>For the list of supported pixel formats, see the documentation to <see cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
filter.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Sharpen filter = new Sharpen( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/sharpen.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Convolution"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Sharpen.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Sharpen"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Sepia">
|
||
<summary>
|
||
Sepia filter - old brown photo.
|
||
</summary>
|
||
|
||
<remarks><para>The filter makes an image look like an old brown photo. The main
|
||
idea of the algorithm:
|
||
<list type="bullet">
|
||
<item>transform to YIQ color space;</item>
|
||
<item>modify it;</item>
|
||
<item>transform back to RGB.</item>
|
||
</list></para>
|
||
|
||
<para>
|
||
<b>1) RGB -> YIQ</b>:
|
||
<code lang="none">
|
||
Y = 0.299 * R + 0.587 * G + 0.114 * B
|
||
I = 0.596 * R - 0.274 * G - 0.322 * B
|
||
Q = 0.212 * R - 0.523 * G + 0.311 * B
|
||
</code>
|
||
</para>
|
||
|
||
<para>
|
||
<b>2) update</b>:
|
||
<code lang="none">
|
||
I = 51
|
||
Q = 0
|
||
</code>
|
||
</para>
|
||
|
||
<para>
|
||
<b>3) YIQ -> RGB</b>:
|
||
<code lang="none">
|
||
R = 1.0 * Y + 0.956 * I + 0.621 * Q
|
||
G = 1.0 * Y - 0.272 * I - 0.647 * Q
|
||
B = 1.0 * Y - 1.105 * I + 1.702 * Q
|
||
</code>
|
||
</para>
|
||
|
||
<para>The filter accepts 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Sepia filter = new Sepia( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/sepia.jpg" width="480" height="361" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Sepia.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Sepia"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Sepia.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Sepia.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Invert">
|
||
<summary>
|
||
Invert image.
|
||
</summary>
|
||
|
||
<remarks><para>The filter inverts colored and grayscale images.</para>
|
||
|
||
<para>The filter accepts 8, 16 bpp grayscale and 24, 48 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Invert filter = new Invert( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/invert.jpg" width="480" height="361" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Invert.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Invert"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Invert.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Invert.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.EuclideanColorFiltering">
|
||
<summary>
|
||
Euclidean color filtering.
|
||
</summary>
|
||
|
||
<remarks><para>The filter filters pixels, which color is inside/outside
|
||
of RGB sphere with specified center and radius - it keeps pixels with
|
||
colors inside/outside of the specified sphere and fills the rest with
|
||
<see cref="P:AForge.Imaging.Filters.EuclideanColorFiltering.FillColor">specified color</see>.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
EuclideanColorFiltering filter = new EuclideanColorFiltering( );
|
||
// set center colol and radius
|
||
filter.CenterColor = new RGB( 215, 30, 30 );
|
||
filter.Radius = 100;
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/euclidean_filtering.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ColorFiltering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.EuclideanColorFiltering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.EuclideanColorFiltering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.EuclideanColorFiltering.#ctor(AForge.Imaging.RGB,System.Int16)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.EuclideanColorFiltering"/> class.
|
||
</summary>
|
||
|
||
<param name="center">RGB sphere's center.</param>
|
||
<param name="radius">RGB sphere's radius.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.EuclideanColorFiltering.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.EuclideanColorFiltering.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.EuclideanColorFiltering.Radius">
|
||
<summary>
|
||
RGB sphere's radius, [0, 450].
|
||
</summary>
|
||
|
||
<remarks>Default value is 100.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.EuclideanColorFiltering.CenterColor">
|
||
<summary>
|
||
RGB sphere's center.
|
||
</summary>
|
||
|
||
<remarks>Default value is (255, 255, 255) - white color.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.EuclideanColorFiltering.FillColor">
|
||
<summary>
|
||
Fill color used to fill filtered pixels.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.EuclideanColorFiltering.FillOutside">
|
||
<summary>
|
||
Determines, if pixels should be filled inside or outside specified
|
||
RGB sphere.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see langword="true"/>, which means
|
||
the filter removes colors outside of the specified range.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ExhaustiveTemplateMatching">
|
||
<summary>
|
||
Exhaustive template matching.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements exhaustive template matching algorithm,
|
||
which performs complete scan of source image, comparing each pixel with corresponding
|
||
pixel of template.</para>
|
||
|
||
<para>The class processes only grayscale 8 bpp and color 24 bpp images.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create template matching algorithm's instance
|
||
ExhaustiveTemplateMatching tm = new ExhaustiveTemplateMatching( 0.9f );
|
||
// find all matchings with specified above similarity
|
||
TemplateMatch[] matchings = tm.ProcessImage( sourceImage, templateImage );
|
||
// highlight found matchings
|
||
BitmapData data = sourceImage.LockBits(
|
||
new Rectangle( 0, 0, sourceImage.Width, sourceImage.Height ),
|
||
ImageLockMode.ReadWrite, sourceImage.PixelFormat );
|
||
foreach ( TemplateMatch m in matchings )
|
||
{
|
||
Drawing.Rectangle( data, m.Rectangle, Color.White );
|
||
// do something else with matching
|
||
}
|
||
sourceImage.UnlockBits( data );
|
||
</code>
|
||
|
||
<para>The class also can be used to get similarity level between two image of the same
|
||
size, which can be useful to get information about how different/similar are images:</para>
|
||
<code>
|
||
// create template matching algorithm's instance
|
||
// use zero similarity to make sure algorithm will provide anything
|
||
ExhaustiveTemplateMatching tm = new ExhaustiveTemplateMatching( 0 );
|
||
// compare two images
|
||
TemplateMatch[] matchings = tm.ProcessImage( image1, image2 );
|
||
// check similarity level
|
||
if ( matchings[0].Similarity > 0.95f )
|
||
{
|
||
// do something with quite similar images
|
||
}
|
||
</code>
|
||
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveTemplateMatching.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ExhaustiveTemplateMatching"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveTemplateMatching.#ctor(System.Single)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ExhaustiveTemplateMatching"/> class.
|
||
</summary>
|
||
|
||
<param name="similarityThreshold">Similarity threshold.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveTemplateMatching.ProcessImage(System.Drawing.Bitmap,System.Drawing.Bitmap)">
|
||
<summary>
|
||
Process image looking for matchings with specified template.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
<param name="template">Template image to search for.</param>
|
||
|
||
<returns>Returns array of found template matches. The array is sorted by similarity
|
||
of found matches in descending order.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Template image is bigger than source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveTemplateMatching.ProcessImage(System.Drawing.Bitmap,System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process image looking for matchings with specified template.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
<param name="template">Template image to search for.</param>
|
||
<param name="searchZone">Rectangle in source image to search template for.</param>
|
||
|
||
<returns>Returns array of found template matches. The array is sorted by similarity
|
||
of found matches in descending order.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Template image is bigger than source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveTemplateMatching.ProcessImage(System.Drawing.Imaging.BitmapData,System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Process image looking for matchings with specified template.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to process.</param>
|
||
<param name="templateData">Template image to search for.</param>
|
||
|
||
<returns>Returns array of found template matches. The array is sorted by similarity
|
||
of found matches in descending order.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Template image is bigger than source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveTemplateMatching.ProcessImage(System.Drawing.Imaging.BitmapData,System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process image looking for matchings with specified template.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to process.</param>
|
||
<param name="templateData">Template image to search for.</param>
|
||
<param name="searchZone">Rectangle in source image to search template for.</param>
|
||
|
||
<returns>Returns array of found template matches. The array is sorted by similarity
|
||
of found matches in descending order.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Template image is bigger than source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveTemplateMatching.ProcessImage(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process image looking for matchings with specified template.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged source image to process.</param>
|
||
<param name="template">Unmanaged template image to search for.</param>
|
||
|
||
<returns>Returns array of found template matches. The array is sorted by similarity
|
||
of found matches in descending order.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Template image is bigger than source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveTemplateMatching.ProcessImage(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process image looking for matchings with specified template.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged source image to process.</param>
|
||
<param name="template">Unmanaged template image to search for.</param>
|
||
<param name="searchZone">Rectangle in source image to search template for.</param>
|
||
|
||
<returns>Returns array of found template matches. The array is sorted by similarity
|
||
of found matches in descending order.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Template image is bigger than search zone.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ExhaustiveTemplateMatching.SimilarityThreshold">
|
||
<summary>
|
||
Similarity threshold, [0..1].
|
||
</summary>
|
||
|
||
<remarks><para>The property sets the minimal acceptable similarity between template
|
||
and potential found candidate. If similarity is lower than this value,
|
||
then object is not treated as matching with template.
|
||
</para>
|
||
|
||
<para>Default value is set to <b>0.9</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ExhaustiveBlockMatching">
|
||
<summary>
|
||
Block matching implementation with the exhaustive search algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements exhaustive search block matching algorithm
|
||
(see documentation for <see cref="T:AForge.Imaging.IBlockMatching"/> for information about
|
||
block matching algorithms). Exhaustive search algorithm tests each possible
|
||
location of block within search window trying to find a match with minimal
|
||
difference.</para>
|
||
|
||
<para><note>Because of the exhaustive nature of the algorithm, high performance
|
||
should not be expected in the case if big number of reference points is provided
|
||
or big block size and search radius are specified. Minimizing theses values increases
|
||
performance. But too small block size and search radius may affect quality.</note></para>
|
||
|
||
<para><note>The class processes only grayscale (8 bpp indexed) and color (24 bpp) images.</note></para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// collect reference points using corners detector (for example)
|
||
SusanCornersDetector scd = new SusanCornersDetector( 30, 18 );
|
||
List<IntPoint> points = scd.ProcessImage( sourceImage );
|
||
|
||
// create block matching algorithm's instance
|
||
ExhaustiveBlockMatching bm = new ExhaustiveBlockMatching( 8, 12 );
|
||
// process images searching for block matchings
|
||
List<BlockMatch> matches = bm.ProcessImage( sourceImage, points, searchImage );
|
||
|
||
// draw displacement vectors
|
||
BitmapData data = sourceImage.LockBits(
|
||
new Rectangle( 0, 0, sourceImage.Width, sourceImage.Height ),
|
||
ImageLockMode.ReadWrite, sourceImage.PixelFormat );
|
||
|
||
foreach ( BlockMatch match in matches )
|
||
{
|
||
// highlight the original point in source image
|
||
Drawing.FillRectangle( data,
|
||
new Rectangle( match.SourcePoint.X - 1, match.SourcePoint.Y - 1, 3, 3 ),
|
||
Color.Yellow );
|
||
// draw line to the point in search image
|
||
Drawing.Line( data, match.SourcePoint, match.MatchPoint, Color.Red );
|
||
|
||
// check similarity
|
||
if ( match.Similarity > 0.98f )
|
||
{
|
||
// process block with high similarity somehow special
|
||
}
|
||
}
|
||
|
||
sourceImage.UnlockBits( data );
|
||
</code>
|
||
|
||
<para><b>Test image 1 (source):</b></para>
|
||
<img src="img/imaging/ebm_sample1.png" width="217" height="192"/>
|
||
<para><b>Test image 2 (search):</b></para>
|
||
<img src="img/imaging/ebm_sample2.png" width="217" height="192"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/ebm_result.png" width="217" height="192"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.IBlockMatching">
|
||
<summary>
|
||
Block matching interface.
|
||
</summary>
|
||
|
||
<remarks><para>The interface specifies set of methods, which should be implemented by different
|
||
block matching algorithms.</para>
|
||
|
||
<para>Block matching algorithms work with two images - source and search image - and
|
||
a set of reference points. For each provided reference point, the algorithm takes
|
||
a block from source image (reference point is a coordinate of block's center) and finds
|
||
the best match for it in search image providing its coordinate (search is done within
|
||
search window of specified size). In other words, block matching algorithm tries to
|
||
find new coordinates in search image of specified reference points in source image.
|
||
</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IBlockMatching.ProcessImage(System.Drawing.Bitmap,System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Bitmap)">
|
||
<summary>
|
||
Process images matching blocks between them.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image with reference points.</param>
|
||
<param name="coordinates">List of reference points to be matched.</param>
|
||
<param name="searchImage">Image in which the reference points will be looked for.</param>
|
||
|
||
<returns>Returns list of found block matches.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IBlockMatching.ProcessImage(System.Drawing.Imaging.BitmapData,System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Process images matching blocks between them.
|
||
</summary>
|
||
|
||
<param name="sourceImageData">Source image with reference points.</param>
|
||
<param name="coordinates">List of reference points to be matched.</param>
|
||
<param name="searchImageData">Image in which the reference points will be looked for.</param>
|
||
|
||
<returns>Returns list of found block matches.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.IBlockMatching.ProcessImage(AForge.Imaging.UnmanagedImage,System.Collections.Generic.List{AForge.IntPoint},AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process images matching blocks between them.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source unmanaged image with reference points.</param>
|
||
<param name="coordinates">List of reference points to be matched.</param>
|
||
<param name="searchImage">Unmanaged image in which the reference points will be looked for.</param>
|
||
|
||
<returns>Returns list of found block matches.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveBlockMatching.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ExhaustiveBlockMatching"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveBlockMatching.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ExhaustiveBlockMatching"/> class.
|
||
</summary>
|
||
|
||
<param name="blockSize">Block size to search for.</param>
|
||
<param name="searchRadius">Search radius.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveBlockMatching.ProcessImage(System.Drawing.Bitmap,System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Bitmap)">
|
||
<summary>
|
||
Process images matching blocks between hem.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image with reference points.</param>
|
||
<param name="coordinates">List of reference points to be matched.</param>
|
||
<param name="searchImage">Image in which the reference points will be looked for.</param>
|
||
|
||
<returns>Returns list of found block matches. The list is sorted by similarity
|
||
of found matches in descending order.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Source and search images sizes must match.</exception>
|
||
<exception cref="T:System.ArgumentException">Source images can be grayscale (8 bpp indexed) or color (24 bpp) image only.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Source and search images must have same pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveBlockMatching.ProcessImage(System.Drawing.Imaging.BitmapData,System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Process images matching blocks between them.
|
||
</summary>
|
||
|
||
<param name="sourceImageData">Source image with reference points.</param>
|
||
<param name="coordinates">List of reference points to be matched.</param>
|
||
<param name="searchImageData">Image in which the reference points will be looked for.</param>
|
||
|
||
<returns>Returns list of found block matches. The list is sorted by similarity
|
||
of found matches in descending order.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Source and search images sizes must match.</exception>
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source images can be grayscale (8 bpp indexed) or color (24 bpp) image only.</exception>
|
||
<exception cref="T:System.ArgumentException">Source and search images must have same pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ExhaustiveBlockMatching.ProcessImage(AForge.Imaging.UnmanagedImage,System.Collections.Generic.List{AForge.IntPoint},AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process images matching blocks between them.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source unmanaged image with reference points.</param>
|
||
<param name="coordinates">List of reference points to be matched.</param>
|
||
<param name="searchImage">Unmanaged image in which the reference points will be looked for.</param>
|
||
|
||
<returns>Returns list of found block matches. The list is sorted by similarity
|
||
of found matches in descending order.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Source and search images sizes must match.</exception>
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source images can be grayscale (8 bpp indexed) or color (24 bpp) image only.</exception>
|
||
<exception cref="T:System.ArgumentException">Source and search images must have same pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ExhaustiveBlockMatching.SearchRadius">
|
||
<summary>
|
||
Search radius.
|
||
</summary>
|
||
|
||
<remarks><para>The value specifies the shift from reference point in all
|
||
four directions, used to search for the best matching block.</para>
|
||
|
||
<para>Default value is set to <b>12</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ExhaustiveBlockMatching.BlockSize">
|
||
<summary>
|
||
Block size to search for.
|
||
</summary>
|
||
|
||
<remarks><para>The value specifies block size to search for. For each provided
|
||
reference pointer, a square block of this size is taken from the source image
|
||
(reference point becomes the coordinate of block's center) and the best match
|
||
is searched in second image within specified <see cref="P:AForge.Imaging.ExhaustiveBlockMatching.SearchRadius">search
|
||
radius</see>.</para>
|
||
|
||
<para>Default value is set to <b>16</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ExhaustiveBlockMatching.SimilarityThreshold">
|
||
<summary>
|
||
Similarity threshold, [0..1].
|
||
</summary>
|
||
|
||
<remarks><para>The property sets the minimal acceptable similarity between blocks
|
||
in source and search images. If similarity is lower than this value,
|
||
then the candidate block in search image is not treated as a match for the block
|
||
in source image.
|
||
</para>
|
||
|
||
<para>Default value is set to <b>0.9</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.UnsupportedImageFormatException">
|
||
<summary>
|
||
Unsupported image format exception.
|
||
</summary>
|
||
|
||
<remarks><para>The unsupported image format exception is thrown in the case when
|
||
user passes an image of certain format to an image processing routine, which does
|
||
not support the format. Check documentation of the image processing routine
|
||
to discover which formats are supported by the routine.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnsupportedImageFormatException.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.UnsupportedImageFormatException"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnsupportedImageFormatException.#ctor(System.String)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.UnsupportedImageFormatException"/> class.
|
||
</summary>
|
||
|
||
<param name="message">Message providing some additional information.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.UnsupportedImageFormatException.#ctor(System.String,System.String)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.UnsupportedImageFormatException"/> class.
|
||
</summary>
|
||
|
||
<param name="message">Message providing some additional information.</param>
|
||
<param name="paramName">Name of the invalid parameter.</param>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.InvalidImagePropertiesException">
|
||
<summary>
|
||
Invalid image properties exception.
|
||
</summary>
|
||
|
||
<remarks><para>The invalid image properties exception is thrown in the case when
|
||
user provides an image with certain properties, which are treated as invalid by
|
||
particular image processing routine. Another case when this exception is
|
||
thrown is the case when user tries to access some properties of an image (or
|
||
of a recently processed image by some routine), which are not valid for that image.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.InvalidImagePropertiesException.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.InvalidImagePropertiesException"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.InvalidImagePropertiesException.#ctor(System.String)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.InvalidImagePropertiesException"/> class.
|
||
</summary>
|
||
|
||
<param name="message">Message providing some additional information.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.InvalidImagePropertiesException.#ctor(System.String,System.String)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.InvalidImagePropertiesException"/> class.
|
||
</summary>
|
||
|
||
<param name="message">Message providing some additional information.</param>
|
||
<param name="paramName">Name of the invalid parameter.</param>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ComplexImage">
|
||
<summary>
|
||
Complex image.
|
||
</summary>
|
||
|
||
<remarks><para>The class is used to keep image represented in complex numbers sutable for Fourier
|
||
transformations.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create complex image
|
||
ComplexImage complexImage = ComplexImage.FromBitmap( image );
|
||
// do forward Fourier transformation
|
||
complexImage.ForwardFourierTransform( );
|
||
// get complex image as bitmat
|
||
Bitmap fourierImage = complexImage.ToBitmap( );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample3.jpg" width="256" height="256" />
|
||
<para><b>Fourier image:</b></para>
|
||
<img src="img/imaging/fourier.jpg" width="256" height="256" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexImage.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ComplexImage"/> class.
|
||
</summary>
|
||
|
||
<param name="width">Image width.</param>
|
||
<param name="height">Image height.</param>
|
||
|
||
<remarks>The constractor is protected, what makes it imposible to instantiate this
|
||
class directly. To create an instance of this class <see cref="M:AForge.Imaging.ComplexImage.FromBitmap(System.Drawing.Bitmap)"/> or
|
||
<see cref="M:AForge.Imaging.ComplexImage.FromBitmap(System.Drawing.Imaging.BitmapData)"/> method should be used.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexImage.Clone">
|
||
<summary>
|
||
Clone the complex image.
|
||
</summary>
|
||
|
||
<returns>Returns copy of the complex image.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexImage.FromBitmap(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Create complex image from grayscale bitmap.
|
||
</summary>
|
||
|
||
<param name="image">Source grayscale bitmap (8 bpp indexed).</param>
|
||
|
||
<returns>Returns an instance of complex image.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Image width and height should be power of 2.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexImage.FromBitmap(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Create complex image from grayscale bitmap.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data (8 bpp indexed).</param>
|
||
|
||
<returns>Returns an instance of complex image.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Image width and height should be power of 2.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexImage.ToBitmap">
|
||
<summary>
|
||
Convert complex image to bitmap.
|
||
</summary>
|
||
|
||
<returns>Returns grayscale bitmap.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexImage.ForwardFourierTransform">
|
||
<summary>
|
||
Applies forward fast Fourier transformation to the complex image.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ComplexImage.BackwardFourierTransform">
|
||
<summary>
|
||
Applies backward fast Fourier transformation to the complex image.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ComplexImage.Width">
|
||
<summary>
|
||
Image width.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ComplexImage.Height">
|
||
<summary>
|
||
Image height.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ComplexImage.FourierTransformed">
|
||
<summary>
|
||
Status of the image - Fourier transformed or not.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ComplexImage.Data">
|
||
<summary>
|
||
Complex image's data.
|
||
</summary>
|
||
|
||
<remarks>Return's 2D array of [<b>height</b>, <b>width</b>] size, which keeps image's
|
||
complex data.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.RGB">
|
||
<summary>
|
||
RGB components.
|
||
</summary>
|
||
|
||
<remarks><para>The class encapsulates <b>RGB</b> color components.</para>
|
||
<para><note><see cref="T:System.Drawing.Imaging.PixelFormat">PixelFormat.Format24bppRgb</see>
|
||
actually means BGR format.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.RGB.R">
|
||
<summary>
|
||
Index of red component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.RGB.G">
|
||
<summary>
|
||
Index of green component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.RGB.B">
|
||
<summary>
|
||
Index of blue component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.RGB.A">
|
||
<summary>
|
||
Index of alpha component for ARGB images.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.RGB.Red">
|
||
<summary>
|
||
Red component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.RGB.Green">
|
||
<summary>
|
||
Green component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.RGB.Blue">
|
||
<summary>
|
||
Blue component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.RGB.Alpha">
|
||
<summary>
|
||
Alpha component.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.RGB.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.RGB"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.RGB.#ctor(System.Byte,System.Byte,System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.RGB"/> class.
|
||
</summary>
|
||
|
||
<param name="red">Red component.</param>
|
||
<param name="green">Green component.</param>
|
||
<param name="blue">Blue component.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.RGB.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.RGB"/> class.
|
||
</summary>
|
||
|
||
<param name="red">Red component.</param>
|
||
<param name="green">Green component.</param>
|
||
<param name="blue">Blue component.</param>
|
||
<param name="alpha">Alpha component.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.RGB.#ctor(System.Drawing.Color)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.RGB"/> class.
|
||
</summary>
|
||
|
||
<param name="color">Initialize from specified <see cref="T:System.Drawing.Color">color.</see></param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.RGB.Color">
|
||
<summary>
|
||
<see cref="T:System.Drawing.Color">Color</see> value of the class.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.HSL">
|
||
<summary>
|
||
HSL components.
|
||
</summary>
|
||
|
||
<remarks>The class encapsulates <b>HSL</b> color components.</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.HSL.Hue">
|
||
<summary>
|
||
Hue component.
|
||
</summary>
|
||
|
||
<remarks>Hue is measured in the range of [0, 359].</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.HSL.Saturation">
|
||
<summary>
|
||
Saturation component.
|
||
</summary>
|
||
|
||
<remarks>Saturation is measured in the range of [0, 1].</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.HSL.Luminance">
|
||
<summary>
|
||
Luminance value.
|
||
</summary>
|
||
|
||
<remarks>Luminance is measured in the range of [0, 1].</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HSL.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.HSL"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.HSL.#ctor(System.Int32,System.Single,System.Single)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.HSL"/> class.
|
||
</summary>
|
||
|
||
<param name="hue">Hue component.</param>
|
||
<param name="saturation">Saturation component.</param>
|
||
<param name="luminance">Luminance component.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HSL.FromRGB(AForge.Imaging.RGB,AForge.Imaging.HSL)">
|
||
<summary>
|
||
Convert from RGB to HSL color space.
|
||
</summary>
|
||
|
||
<param name="rgb">Source color in <b>RGB</b> color space.</param>
|
||
<param name="hsl">Destination color in <b>HSL</b> color space.</param>
|
||
|
||
<remarks><para>See <a href="http://en.wikipedia.org/wiki/HSI_color_space#Conversion_from_RGB_to_HSL_or_HSV">HSL and HSV Wiki</a>
|
||
for information about the algorithm to convert from RGB to HSL.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HSL.FromRGB(AForge.Imaging.RGB)">
|
||
<summary>
|
||
Convert from RGB to HSL color space.
|
||
</summary>
|
||
|
||
<param name="rgb">Source color in <b>RGB</b> color space.</param>
|
||
|
||
<returns>Returns <see cref="T:AForge.Imaging.HSL"/> instance, which represents converted color value.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HSL.ToRGB(AForge.Imaging.HSL,AForge.Imaging.RGB)">
|
||
<summary>
|
||
Convert from HSL to RGB color space.
|
||
</summary>
|
||
|
||
<param name="hsl">Source color in <b>HSL</b> color space.</param>
|
||
<param name="rgb">Destination color in <b>RGB</b> color space.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HSL.ToRGB">
|
||
<summary>
|
||
Convert the color to <b>RGB</b> color space.
|
||
</summary>
|
||
|
||
<returns>Returns <see cref="T:AForge.Imaging.RGB"/> instance, which represents converted color value.</returns>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.YCbCr">
|
||
<summary>
|
||
YCbCr components.
|
||
</summary>
|
||
|
||
<remarks>The class encapsulates <b>YCbCr</b> color components.</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.YCbCr.YIndex">
|
||
<summary>
|
||
Index of <b>Y</b> component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.YCbCr.CbIndex">
|
||
<summary>
|
||
Index of <b>Cb</b> component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.YCbCr.CrIndex">
|
||
<summary>
|
||
Index of <b>Cr</b> component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.YCbCr.Y">
|
||
<summary>
|
||
<b>Y</b> component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.YCbCr.Cb">
|
||
<summary>
|
||
<b>Cb</b> component.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.YCbCr.Cr">
|
||
<summary>
|
||
<b>Cr</b> component.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.YCbCr.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.YCbCr"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.YCbCr.#ctor(System.Single,System.Single,System.Single)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.YCbCr"/> class.
|
||
</summary>
|
||
|
||
<param name="y"><b>Y</b> component.</param>
|
||
<param name="cb"><b>Cb</b> component.</param>
|
||
<param name="cr"><b>Cr</b> component.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.YCbCr.FromRGB(AForge.Imaging.RGB,AForge.Imaging.YCbCr)">
|
||
<summary>
|
||
Convert from RGB to YCbCr color space (Rec 601-1 specification).
|
||
</summary>
|
||
|
||
<param name="rgb">Source color in <b>RGB</b> color space.</param>
|
||
<param name="ycbcr">Destination color in <b>YCbCr</b> color space.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.YCbCr.FromRGB(AForge.Imaging.RGB)">
|
||
<summary>
|
||
Convert from RGB to YCbCr color space (Rec 601-1 specification).
|
||
</summary>
|
||
|
||
<param name="rgb">Source color in <b>RGB</b> color space.</param>
|
||
|
||
<returns>Returns <see cref="T:AForge.Imaging.YCbCr"/> instance, which represents converted color value.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.YCbCr.ToRGB(AForge.Imaging.YCbCr,AForge.Imaging.RGB)">
|
||
<summary>
|
||
Convert from YCbCr to RGB color space.
|
||
</summary>
|
||
|
||
<param name="ycbcr">Source color in <b>YCbCr</b> color space.</param>
|
||
<param name="rgb">Destination color in <b>RGB</b> color spacs.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.YCbCr.ToRGB">
|
||
<summary>
|
||
Convert the color to <b>RGB</b> color space.
|
||
</summary>
|
||
|
||
<returns>Returns <see cref="T:AForge.Imaging.RGB"/> instance, which represents converted color value.</returns>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.OrderedColorDithering">
|
||
<summary>
|
||
Color dithering with a thresold matrix (ordered dithering).
|
||
</summary>
|
||
|
||
<remarks><para>The class implements ordered color dithering as described on
|
||
<a href="http://en.wikipedia.org/wiki/Ordered_dithering">Wikipedia</a>.
|
||
The algorithm achieves dithering by applying a <see cref="P:AForge.Imaging.ColorReduction.OrderedColorDithering.ThresholdMatrix">threshold map</see> on
|
||
the pixels displayed, causing some of the pixels to be rendered at a different color, depending on
|
||
how far in between the color is of available <see cref="P:AForge.Imaging.ColorReduction.OrderedColorDithering.ColorTable">color entries</see>.</para>
|
||
|
||
<para>The image processing routine accepts 24/32 bpp color images for processing. As a result this routine
|
||
produces 4 bpp or 8 bpp indexed image, which depends on size of the specified
|
||
<see cref="P:AForge.Imaging.ColorReduction.OrderedColorDithering.ColorTable">color table</see> - 4 bpp result for
|
||
color tables with 16 colors or less; 8 bpp result for larger color tables.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create color image quantization routine
|
||
ColorImageQuantizer ciq = new ColorImageQuantizer( new MedianCutQuantizer( ) );
|
||
// create 256 colors table
|
||
Color[] colorTable = ciq.CalculatePalette( image, 256 );
|
||
// create dithering routine
|
||
OrderedColorDithering dithering = new OrderedColorDithering( );
|
||
dithering.ColorTable = colorTable;
|
||
// apply the dithering routine
|
||
Bitmap newImage = dithering.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/ordered_color_dithering.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.OrderedColorDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ColorReduction.OrderedColorDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.OrderedColorDithering.#ctor(System.Byte[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ColorReduction.OrderedColorDithering"/> class.
|
||
</summary>
|
||
|
||
<param name="matrix">Threshold matrix (see <see cref="P:AForge.Imaging.ColorReduction.OrderedColorDithering.ThresholdMatrix"/> property).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.OrderedColorDithering.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Perform color dithering for the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image to do color dithering for.</param>
|
||
|
||
<returns>Returns color dithered image. See <see cref="P:AForge.Imaging.ColorReduction.OrderedColorDithering.ColorTable"/> for information about format of
|
||
the result image.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image. It must 24 or 32 bpp color image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.OrderedColorDithering.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Perform color dithering for the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image to do color dithering for.</param>
|
||
|
||
<returns>Returns color dithered image. See <see cref="P:AForge.Imaging.ColorReduction.OrderedColorDithering.ColorTable"/> for information about format of
|
||
the result image.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image. It must 24 or 32 bpp color image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ColorReduction.OrderedColorDithering.ThresholdMatrix">
|
||
<summary>
|
||
Threshold matrix - values to add source image's values.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps a threshold matrix, which is applied to values of a source image
|
||
to dither. By adding these values to the source image the algorithm produces the effect when pixels
|
||
of the same color in source image may have different color in the result image (which depends on pixel's
|
||
position). This threshold map is also known as an index matrix or Bayer matrix.</para>
|
||
|
||
<para>By default the property is inialized with the below matrix:
|
||
<code lang="none">
|
||
2 18 6 22
|
||
26 10 30 14
|
||
8 24 4 20
|
||
32 16 28 12
|
||
</code>
|
||
</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ColorReduction.OrderedColorDithering.ColorTable">
|
||
<summary>
|
||
Color table to use for image dithering. Must contain 2-256 colors.
|
||
</summary>
|
||
|
||
<remarks><para>Color table size determines format of the resulting image produced by this
|
||
image processing routine. If color table contains 16 color or less, then result image will have
|
||
4 bpp indexed pixel format. If color table contains more than 16 colors, then result image will
|
||
have 8 bpp indexed pixel format.</para>
|
||
|
||
<para>By default the property is initialized with default 16 colors, which are:
|
||
Black, Dark Blue, Dark Green, Dark Cyan, Dark Red, Dark Magenta, Dark Khaki, Light Gray,
|
||
Gray, Blue, Green, Cyan, Red, Magenta, Yellow and White.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Color table length must be in the [2, 256] range.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ColorReduction.OrderedColorDithering.UseCaching">
|
||
<summary>
|
||
Use color caching during color dithering or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if internal cache of already processed colors should be used or not.
|
||
For each pixel in the original image the color dithering routine does search in target color palette to find
|
||
the best matching color. To avoid doing the search again and again for already processed colors, the class may
|
||
use internal dictionary which maps colors of original image to indexes in target color palette.
|
||
</para>
|
||
|
||
<para><note>The property provides a trade off. On one hand it may speedup color dithering routine, but on another
|
||
hand it increases memory usage. Also cache usage may not be efficient for very small target color tables.</note></para>
|
||
|
||
<para>Default value is set to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.BlockMatch">
|
||
<summary>
|
||
Block match class keeps information about found block match. The class is
|
||
used with block matching algorithms implementing <see cref="T:AForge.Imaging.IBlockMatching"/>
|
||
interface.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlockMatch.#ctor(AForge.IntPoint,AForge.IntPoint,System.Single)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.BlockMatch"/> class.
|
||
</summary>
|
||
|
||
<param name="sourcePoint">Reference point in source image.</param>
|
||
<param name="matchPoint">Match point in search image (point of a found match).</param>
|
||
<param name="similarity">Similarity between blocks in source and search images, [0..1].</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlockMatch.SourcePoint">
|
||
<summary>
|
||
Reference point in source image.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlockMatch.MatchPoint">
|
||
<summary>
|
||
Match point in search image (point of a found match).
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlockMatch.Similarity">
|
||
<summary>
|
||
Similarity between blocks in source and search images, [0..1].
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Blob">
|
||
<summary>
|
||
Image's blob.
|
||
</summary>
|
||
|
||
<remarks><para>The class represents a blob - part of another images. The
|
||
class encapsulates the blob itself and information about its position
|
||
in parent image.</para>
|
||
|
||
<para><note>The class is not responsible for blob's image disposing, so it should be
|
||
done manually when it is required.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Blob.#ctor(System.Int32,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Blob"/> class.
|
||
</summary>
|
||
|
||
<param name="id">Blob's ID in the original image.</param>
|
||
<param name="rect">Blob's rectangle in the original image.</param>
|
||
|
||
<remarks><para>This constructor leaves <see cref="P:AForge.Imaging.Blob.Image"/> property not initialized. The blob's
|
||
image may be extracted later using <see cref="M:AForge.Imaging.BlobCounterBase.ExtractBlobsImage(System.Drawing.Bitmap,AForge.Imaging.Blob,System.Boolean)"/>
|
||
or <see cref="M:AForge.Imaging.BlobCounterBase.ExtractBlobsImage(AForge.Imaging.UnmanagedImage,AForge.Imaging.Blob,System.Boolean)"/> method.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Blob.#ctor(AForge.Imaging.Blob)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Blob"/> class.
|
||
</summary>
|
||
|
||
<param name="source">Source blob to copy.</param>
|
||
|
||
<remarks><para>This copy constructor leaves <see cref="P:AForge.Imaging.Blob.Image"/> property not initialized. The blob's
|
||
image may be extracted later using <see cref="M:AForge.Imaging.BlobCounterBase.ExtractBlobsImage(System.Drawing.Bitmap,AForge.Imaging.Blob,System.Boolean)"/>
|
||
or <see cref="M:AForge.Imaging.BlobCounterBase.ExtractBlobsImage(AForge.Imaging.UnmanagedImage,AForge.Imaging.Blob,System.Boolean)"/> method.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Blob.Image">
|
||
<summary>
|
||
Blob's image.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps blob's image. In the case if it equals to <b>null</b>,
|
||
the image may be extracted using <see cref="M:AForge.Imaging.BlobCounterBase.ExtractBlobsImage(System.Drawing.Bitmap,AForge.Imaging.Blob,System.Boolean)"/>
|
||
or <see cref="M:AForge.Imaging.BlobCounterBase.ExtractBlobsImage(AForge.Imaging.UnmanagedImage,AForge.Imaging.Blob,System.Boolean)"/> method.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Blob.OriginalSize">
|
||
<summary>
|
||
Blob's image size.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies size of the <see cref="P:AForge.Imaging.Blob.Image">blob's image</see>.
|
||
If the property is set to <see langword="true"/>, the blob's image size equals to the
|
||
size of original image. If the property is set to <see langword="false"/>, the blob's
|
||
image size equals to size of actual blob.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Blob.Rectangle">
|
||
<summary>
|
||
Blob's rectangle in the original image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies position of the blob in the original image
|
||
and its size.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Blob.ID">
|
||
<summary>
|
||
Blob's ID in the original image.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Blob.Area">
|
||
<summary>
|
||
Blob's area.
|
||
</summary>
|
||
|
||
<remarks><para>The property equals to blob's area measured in number of pixels
|
||
contained by the blob.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Blob.Fullness">
|
||
<summary>
|
||
Blob's fullness, [0, 1].
|
||
</summary>
|
||
|
||
<remarks><para>The property equals to blob's fullness, which is calculated
|
||
as <b>Area / ( Width * Height )</b>. If it equals to <b>1</b>, then
|
||
it means that entire blob's rectangle is filled by blob's pixel (no
|
||
blank areas), which is true only for rectangles. If it equals to <b>0.5</b>,
|
||
for example, then it means that only half of the bounding rectangle is filled
|
||
by blob's pixels.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Blob.CenterOfGravity">
|
||
<summary>
|
||
Blob's center of gravity point.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps center of gravity point, which is calculated as
|
||
mean value of X and Y coordinates of blob's points.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Blob.ColorMean">
|
||
<summary>
|
||
Blob's mean color.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps mean color of pixels comprising the blob.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Blob.ColorStdDev">
|
||
<summary>
|
||
Blob color's standard deviation.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps standard deviation of pixels' colors comprising the blob.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.HoughCircle">
|
||
<summary>
|
||
Hough circle.
|
||
</summary>
|
||
|
||
<remarks>Represents circle of Hough transform.</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.HoughCircleTransformation"/>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.HoughCircle.X">
|
||
<summary>
|
||
Circle center's X coordinate.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.HoughCircle.Y">
|
||
<summary>
|
||
Circle center's Y coordinate.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.HoughCircle.Radius">
|
||
<summary>
|
||
Circle's radius.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.HoughCircle.Intensity">
|
||
<summary>
|
||
Line's absolute intensity.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.HoughCircle.RelativeIntensity">
|
||
<summary>
|
||
Line's relative intensity.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughCircle.#ctor(System.Int32,System.Int32,System.Int32,System.Int16,System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.HoughCircle"/> class.
|
||
</summary>
|
||
|
||
<param name="x">Circle's X coordinate.</param>
|
||
<param name="y">Circle's Y coordinate.</param>
|
||
<param name="radius">Circle's radius.</param>
|
||
<param name="intensity">Circle's absolute intensity.</param>
|
||
<param name="relativeIntensity">Circle's relative intensity.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughCircle.CompareTo(System.Object)">
|
||
<summary>
|
||
Compare the object with another instance of this class.
|
||
</summary>
|
||
|
||
<param name="value">Object to compare with.</param>
|
||
|
||
<returns><para>A signed number indicating the relative values of this instance and <b>value</b>: 1) greater than zero -
|
||
this instance is greater than <b>value</b>; 2) zero - this instance is equal to <b>value</b>;
|
||
3) greater than zero - this instance is less than <b>value</b>.</para>
|
||
|
||
<para><note>The sort order is descending.</note></para></returns>
|
||
|
||
<remarks>
|
||
<para><note>Object are compared using their <see cref="F:AForge.Imaging.HoughCircle.Intensity">intensity</see> value.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.HoughCircleTransformation">
|
||
<summary>
|
||
Hough circle transformation.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements Hough circle transformation, which allows to detect
|
||
circles of specified radius in an image.</para>
|
||
|
||
<para>The class accepts binary images for processing, which are represented by 8 bpp grayscale images.
|
||
All black pixels (0 pixel's value) are treated as background, but pixels with different value are
|
||
treated as circles' pixels.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
HoughCircleTransformation circleTransform = new HoughCircleTransformation( 35 );
|
||
// apply Hough circle transform
|
||
circleTransform.ProcessImage( sourceImage );
|
||
Bitmap houghCirlceImage = circleTransform.ToBitmap( );
|
||
// get circles using relative intensity
|
||
HoughCircle[] circles = circleTransform.GetCirclesByRelativeIntensity( 0.5 );
|
||
|
||
foreach ( HoughCircle circle in circles )
|
||
{
|
||
// ...
|
||
}
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample8.jpg" width="400" height="300"/>
|
||
<para><b>Hough circle transformation image:</b></para>
|
||
<img src="img/imaging/hough_circles.jpg" width="400" height="300"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.HoughLineTransformation"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughCircleTransformation.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.HoughCircleTransformation"/> class.
|
||
</summary>
|
||
|
||
<param name="radiusToDetect">Circles' radius to detect.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughCircleTransformation.ProcessImage(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Process an image building Hough map.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughCircleTransformation.ProcessImage(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Process an image building Hough map.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to process.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughCircleTransformation.ProcessImage(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process an image building Hough map.
|
||
</summary>
|
||
|
||
<param name="image">Source unmanaged image to process.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughCircleTransformation.ToBitmap">
|
||
<summary>
|
||
Сonvert Hough map to bitmap.
|
||
</summary>
|
||
|
||
<returns>Returns 8 bppp grayscale bitmap, which shows Hough map.</returns>
|
||
|
||
<exception cref="T:System.ApplicationException">Hough transformation was not yet done by calling
|
||
ProcessImage() method.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughCircleTransformation.GetMostIntensiveCircles(System.Int32)">
|
||
<summary>
|
||
Get specified amount of circles with highest intensity.
|
||
</summary>
|
||
|
||
<param name="count">Amount of circles to get.</param>
|
||
|
||
<returns>Returns arrary of most intesive circles. If there are no circles detected,
|
||
the returned array has zero length.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.HoughCircleTransformation.GetCirclesByRelativeIntensity(System.Double)">
|
||
<summary>
|
||
Get circles with relative intensity higher then specified value.
|
||
</summary>
|
||
|
||
<param name="minRelativeIntensity">Minimum relative intesity of circles.</param>
|
||
|
||
<returns>Returns arrary of most intesive circles. If there are no circles detected,
|
||
the returned array has zero length.</returns>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HoughCircleTransformation.MinCircleIntensity">
|
||
<summary>
|
||
Minimum circle's intensity in Hough map to recognize a circle.
|
||
</summary>
|
||
|
||
<remarks><para>The value sets minimum intensity level for a circle. If a value in Hough
|
||
map has lower intensity, then it is not treated as a circle.</para>
|
||
|
||
<para>Default value is set to <b>10</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HoughCircleTransformation.LocalPeakRadius">
|
||
<summary>
|
||
Radius for searching local peak value.
|
||
</summary>
|
||
|
||
<remarks><para>The value determines radius around a map's value, which is analyzed to determine
|
||
if the map's value is a local maximum in specified area.</para>
|
||
|
||
<para>Default value is set to <b>4</b>. Minimum value is <b>1</b>. Maximum value is <b>10</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HoughCircleTransformation.MaxIntensity">
|
||
<summary>
|
||
Maximum found intensity in Hough map.
|
||
</summary>
|
||
|
||
<remarks><para>The property provides maximum found circle's intensity.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.HoughCircleTransformation.CirclesCount">
|
||
<summary>
|
||
Found circles count.
|
||
</summary>
|
||
|
||
<remarks><para>The property provides total number of found circles, which intensity is higher (or equal to),
|
||
than the requested <see cref="P:AForge.Imaging.HoughCircleTransformation.MinCircleIntensity">minimum intensity</see>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.QuadrilateralTransformationBilinear">
|
||
<summary>
|
||
Performs quadrilateral transformation using bilinear algorithm for interpolation.
|
||
</summary>
|
||
|
||
<remarks><para>The class is deprecated and <see cref="T:AForge.Imaging.Filters.SimpleQuadrilateralTransformation"/> should be used instead.</para>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.SimpleQuadrilateralTransformation"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.#ctor(System.Collections.Generic.List{AForge.IntPoint},System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.QuadrilateralTransformationBilinear"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceCorners">Corners of the source quadrilateral area.</param>
|
||
<param name="newWidth">Width of the new transformed image.</param>
|
||
<param name="newHeight">Height of the new transformed image.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.AutomaticSizeCalculaton"/> to
|
||
<see langword="false"/>, which means that destination image will have width and
|
||
height as specified by user.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.#ctor(System.Collections.Generic.List{AForge.IntPoint})">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.QuadrilateralTransformationBilinear"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceCorners">Corners of the source quadrilateral area.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.AutomaticSizeCalculaton"/> to
|
||
<see langword="true"/>, which means that destination image will have width and
|
||
height automatically calculated based on <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.SourceCorners"/> property.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
<exception cref="T:System.ArgumentException">The specified quadrilateral's corners are outside of the given image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.AutomaticSizeCalculaton">
|
||
<summary>
|
||
Automatic calculation of destination image or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies how to calculate size of destination (transformed)
|
||
image. If the property is set to <see langword="false"/>, then <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.NewWidth"/>
|
||
and <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.NewHeight"/> properties have effect and destination image's size is
|
||
specified by user. If the property is set to <see langword="true"/>, then setting the above
|
||
mentioned properties does not have any effect, but destionation image's size is
|
||
automatically calculated from <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.SourceCorners"/> property - width and height
|
||
come from length of longest edges.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.SourceCorners">
|
||
<summary>
|
||
Quadrilateral's corners in source image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies four corners of the quadrilateral area
|
||
in the source image to be transformed.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.NewWidth">
|
||
<summary>
|
||
Width of the new transformed image.
|
||
</summary>
|
||
|
||
<remarks><para>The property defines width of the destination image, which gets
|
||
transformed quadrilateral image.</para>
|
||
|
||
<para><note>Setting the property does not have any effect, if <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.AutomaticSizeCalculaton"/>
|
||
property is set to <see langword="true"/>. In this case destination image's width
|
||
is calculated automatically based on <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.SourceCorners"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.NewHeight">
|
||
<summary>
|
||
Height of the new transformed image.
|
||
</summary>
|
||
|
||
<remarks><para>The property defines height of the destination image, which gets
|
||
transformed quadrilateral image.</para>
|
||
|
||
<para><note>Setting the property does not have any effect, if <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.AutomaticSizeCalculaton"/>
|
||
property is set to <see langword="true"/>. In this case destination image's height
|
||
is calculated automatically based on <see cref="P:AForge.Imaging.Filters.QuadrilateralTransformationBilinear.SourceCorners"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BackwardQuadrilateralTransformation">
|
||
<summary>
|
||
Performs backward quadrilateral transformation into an area in destination image.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements backward quadrilateral transformation algorithm,
|
||
which allows to transform any rectangular image into any quadrilateral area
|
||
in a given destination image. The idea of the algorithm is based on homogeneous
|
||
transformation and its math is described by Paul Heckbert in his
|
||
"<a href="http://graphics.cs.cmu.edu/courses/15-463/2008_fall/Papers/proj.pdf">Projective Mappings for Image Warping</a>" paper.
|
||
</para>
|
||
|
||
<para>The image processing routines implements similar math to <see cref="T:AForge.Imaging.Filters.QuadrilateralTransformation"/>,
|
||
but performs it in backward direction.</para>
|
||
|
||
<para>The image processing filter accepts 8 grayscale images and 24/32 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// define quadrilateral's corners
|
||
List<IntPoint> corners = new List<IntPoint>( );
|
||
corners.Add( new IntPoint( 99, 99 ) );
|
||
corners.Add( new IntPoint( 156, 79 ) );
|
||
corners.Add( new IntPoint( 184, 126 ) );
|
||
corners.Add( new IntPoint( 122, 150 ) );
|
||
// create filter
|
||
BackwardQuadrilateralTransformation filter =
|
||
new BackwardQuadrilateralTransformation( sourceImage, corners );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/icon.png" width="128" height="128"/>
|
||
<para><b>Destination image:</b></para>
|
||
<img src="img/imaging/sample18.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/backward_quadrilateral.jpg" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.QuadrilateralTransformation"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BackwardQuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BackwardQuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image to be transformed into specified quadrilateral
|
||
(see <see cref="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.SourceImage"/>).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BackwardQuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceUnmanagedImage">Source unmanaged image to be transformed into specified quadrilateral
|
||
(see <see cref="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.SourceUnmanagedImage"/>).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.#ctor(System.Drawing.Bitmap,System.Collections.Generic.List{AForge.IntPoint})">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BackwardQuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image to be transformed into specified quadrilateral
|
||
(see <see cref="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.SourceImage"/>).</param>
|
||
<param name="destinationQuadrilateral">Quadrilateral in destination image to transform into.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.#ctor(AForge.Imaging.UnmanagedImage,System.Collections.Generic.List{AForge.IntPoint})">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BackwardQuadrilateralTransformation"/> class.
|
||
</summary>
|
||
|
||
<param name="sourceUnmanagedImage">Source unmanaged image to be transformed into specified quadrilateral
|
||
(see <see cref="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.SourceUnmanagedImage"/>).</param>
|
||
<param name="destinationQuadrilateral">Quadrilateral in destination image to transform into.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Image data to process by the filter.</param>
|
||
|
||
<exception cref="T:System.NullReferenceException">Destination quadrilateral was not set.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.SourceImage">
|
||
<summary>
|
||
Source image to be transformed into specified quadrilateral.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets the source image, which will be transformed
|
||
to the specified quadrilateral and put into destination image the filter is applied to.</para>
|
||
|
||
<para><note>The source image must have the same pixel format as a destination image the filter
|
||
is applied to. Otherwise exception will be generated when filter is applied.</note></para>
|
||
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.SourceUnmanagedImage"/> property -
|
||
only one source image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.SourceUnmanagedImage">
|
||
<summary>
|
||
Source unmanaged image to be transformed into specified quadrilateral.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets the source image, which will be transformed
|
||
to the specified quadrilateral and put into destination image the filter is applied to.</para>
|
||
|
||
<para><note>The source image must have the same pixel format as a destination image the filter
|
||
is applied to. Otherwise exception will be generated when filter is applied.</note></para>
|
||
|
||
<para><note>Setting this property will clear the <see cref="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.SourceImage"/> property -
|
||
only one source image is allowed: managed or unmanaged.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.DestinationQuadrilateral">
|
||
<summary>
|
||
Quadrilateral in destination image to transform into.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies 4 corners of a quadrilateral area
|
||
in destination image where the source image will be transformed into.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BackwardQuadrilateralTransformation.UseInterpolation">
|
||
<summary>
|
||
Specifies if bilinear interpolation should be used or not.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see langword="true"/> - interpolation
|
||
is used.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ImageWarp">
|
||
<summary>
|
||
Image warp effect filter.
|
||
</summary>
|
||
|
||
<remarks><para>The image processing filter implements a warping filter, which
|
||
sets pixels in destination image to values from source image taken with specified offset
|
||
(see <see cref="P:AForge.Imaging.Filters.ImageWarp.WarpMap"/>).
|
||
</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// build warp map
|
||
int width = image.Width;
|
||
int height = image.Height;
|
||
|
||
IntPoint[,] warpMap = new IntPoint[height, width];
|
||
|
||
int size = 8;
|
||
int maxOffset = -size + 1;
|
||
|
||
for ( int y = 0; y < height; y++ )
|
||
{
|
||
for ( int x = 0; x < width; x++ )
|
||
{
|
||
int dx = ( x / size ) * size - x;
|
||
int dy = ( y / size ) * size - y;
|
||
|
||
if ( dx + dy <= maxOffset )
|
||
{
|
||
dx = ( x / size + 1 ) * size - 1 - x;
|
||
}
|
||
|
||
warpMap[y, x] = new IntPoint( dx, dy );
|
||
}
|
||
}
|
||
// create filter
|
||
ImageWarp filter = new ImageWarp( warpMap );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/image_warp.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ImageWarp.#ctor(AForge.IntPoint[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ImageWarp"/> class.
|
||
</summary>
|
||
|
||
<param name="warpMap">Map used for warping images (see <see cref="P:AForge.Imaging.Filters.ImageWarp.WarpMap"/>).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ImageWarp.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ImageWarp.WarpMap">
|
||
<summary>
|
||
Map used for warping images.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets displacement map used for warping images.
|
||
The map sets offsets of pixels in source image, which are used to set values in destination
|
||
image. In other words, each pixel in destination image is set to the same value
|
||
as pixel in source image with corresponding offset (coordinates of pixel in source image
|
||
are calculated as sum of destination coordinate and corresponding value from warp map).
|
||
</para>
|
||
|
||
<para><note>The map array is accessed using [y, x] indexing, i.e.
|
||
first dimension in the map array corresponds to Y axis of image.</note></para>
|
||
|
||
<para><note>If the map is smaller or bigger than the image to process, then only minimum
|
||
overlapping area of the image is processed. This allows to prepare single big map and reuse
|
||
it for a set of images for creating similar effects.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ImageWarp.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.HorizontalRunLengthSmoothing">
|
||
<summary>
|
||
Horizontal run length smoothing algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements horizontal run length smoothing algorithm, which
|
||
is described in: <b>K.Y. Wong, R.G. Casey and F.M. Wahl, "Document analysis system,"
|
||
IBM J. Res. Devel., Vol. 26, NO. 6,111). 647-656, 1982.</b></para>
|
||
|
||
<para>Unlike the original description of this algorithm, this implementation must be applied
|
||
to inverted binary images containing document, i.e. white text on black background. So this
|
||
implementation fills horizontal black gaps between white pixels.</para>
|
||
|
||
<para><note>This algorithm is usually used together with <see cref="T:AForge.Imaging.Filters.VerticalRunLengthSmoothing"/>,
|
||
<see cref="T:AForge.Imaging.Filters.Intersect"/> and then further analysis of white blobs.</note></para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images, which are supposed to be binary inverted documents.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
HorizontalRunLengthSmoothing hrls = new HorizontalRunLengthSmoothing( 32 );
|
||
// apply the filter
|
||
hrls.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample24.png" width="480" height="320"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/hrls.png" width="480" height="320"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.VerticalRunLengthSmoothing"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HorizontalRunLengthSmoothing.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HorizontalRunLengthSmoothing"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HorizontalRunLengthSmoothing.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HorizontalRunLengthSmoothing"/> class.
|
||
</summary>
|
||
|
||
<param name="maxGapSize">Maximum gap size to fill (see <see cref="P:AForge.Imaging.Filters.HorizontalRunLengthSmoothing.MaxGapSize"/>).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HorizontalRunLengthSmoothing.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HorizontalRunLengthSmoothing.MaxGapSize">
|
||
<summary>
|
||
Maximum gap size to fill (in pixels).
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies maximum horizontal gap between white pixels to fill.
|
||
If number of black pixels between some white pixels is bigger than this value, then those
|
||
black pixels are left as is; otherwise the gap is filled with white pixels.
|
||
</para>
|
||
|
||
<para>Default value is set to <b>10</b>. Minimum value is 1. Maximum value is 1000.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HorizontalRunLengthSmoothing.ProcessGapsWithImageBorders">
|
||
<summary>
|
||
Process gaps between objects and image borders or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets if gaps between image borders and objects must be treated as
|
||
gaps between objects and also filled.</para>
|
||
|
||
<para>Default value is set to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HorizontalRunLengthSmoothing.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ExtractBiggestBlob">
|
||
<summary>
|
||
Extract the biggest blob from image.
|
||
</summary>
|
||
|
||
<remarks><para>The filter locates the biggest blob in the source image and extracts it.
|
||
The filter also can use the source image for the biggest blob's location only, but extract it from
|
||
another image, which is set using <see cref="P:AForge.Imaging.Filters.ExtractBiggestBlob.OriginalImage"/> property. The original image
|
||
usually is the source of the processed image.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32 color images for processing as source image passed to
|
||
<see cref="M:AForge.Imaging.Filters.ExtractBiggestBlob.Apply(System.Drawing.Bitmap)"/> method and also for the <see cref="P:AForge.Imaging.Filters.ExtractBiggestBlob.OriginalImage"/>.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ExtractBiggestBlob filter = new ExtractBiggestBlob( );
|
||
// apply the filter
|
||
Bitmap biggestBlobsImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample2.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/biggest_blob.jpg" width="141" height="226"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ExtractBiggestBlob.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to get biggest blob from.</param>
|
||
|
||
<returns>Returns image of the biggest blob.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the original image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Source and original images must have the same size.</exception>
|
||
<exception cref="T:System.ArgumentException">The source image does not contain any blobs.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ExtractBiggestBlob.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to get biggest blob from.</param>
|
||
|
||
<returns>Returns image of the biggest blob.</returns>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the original image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Source and original images must have the same size.</exception>
|
||
<exception cref="T:System.ArgumentException">The source image does not contain any blobs.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ExtractBiggestBlob.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image (not implemented).
|
||
</summary>
|
||
|
||
<param name="image">Image in unmanaged memory.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<exception cref="T:System.NotImplementedException">The method is not implemented.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ExtractBiggestBlob.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image (not implemented).
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image to be processed.</param>
|
||
<param name="destinationImage">Destination image to store filter's result.</param>
|
||
|
||
<exception cref="T:System.NotImplementedException">The method is not implemented.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ExtractBiggestBlob.BlobPosition">
|
||
<summary>
|
||
Position of the extracted blob.
|
||
</summary>
|
||
|
||
<remarks><para>After applying the filter this property keeps position of the extracted
|
||
blob in the source image.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ExtractBiggestBlob.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>The dictionary defines, which pixel formats are supported for
|
||
source images and which pixel format will be used for resulting image.
|
||
</para>
|
||
|
||
<para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ExtractBiggestBlob.OriginalImage">
|
||
<summary>
|
||
Original image, which is the source of the processed image where the biggest blob is searched for.
|
||
</summary>
|
||
|
||
<remarks><para>The property may be set to <see langword="null"/>. In this case the biggest blob
|
||
is extracted from the image, which is passed to <see cref="M:AForge.Imaging.Filters.ExtractBiggestBlob.Apply(System.Drawing.Bitmap)"/> image.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Dilatation3x3">
|
||
<summary>
|
||
Dilatation operator from Mathematical Morphology with 3x3 structuring element.
|
||
</summary>
|
||
|
||
<remarks><para>The filter represents an optimized version of <see cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
filter, which is aimed for grayscale image processing with 3x3 structuring element.</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.Dilatation"/> filter, which represents generic version of
|
||
dilatation filter supporting custom structuring elements and wider range of image formats.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.BinaryDilatation3x3"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Dilatation3x3.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Dilatation3x3"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Dilatation3x3.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Processing rectangle mast be at least 3x3 in size.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Dilatation3x3.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.GrayscaleBT709">
|
||
<summary>
|
||
Grayscale image using BT709 algorithm.
|
||
</summary>
|
||
|
||
<remarks>The class uses <b>BT709</b> algorithm to convert color image
|
||
to grayscale. The conversion coefficients are:
|
||
<list type="bullet">
|
||
<item>Red: 0.2125;</item>
|
||
<item>Green: 0.7154;</item>
|
||
<item>Blue: 0.0721.</item>
|
||
</list>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Grayscale"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.GrayscaleRMY"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.GrayscaleY"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GrayscaleBT709.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GrayscaleBT709"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.ObjectsOrder">
|
||
<summary>
|
||
Possible object orders.
|
||
</summary>
|
||
|
||
<remarks>The enumeration defines possible sorting orders of objects, found by blob
|
||
counting classes.</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.ObjectsOrder.None">
|
||
<summary>
|
||
Unsorted order (as it is collected by algorithm).
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.ObjectsOrder.Size">
|
||
<summary>
|
||
Objects are sorted by size in descending order (bigger objects go first).
|
||
Size is calculated as <b>Width * Height</b>.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.ObjectsOrder.Area">
|
||
<summary>
|
||
Objects are sorted by area in descending order (bigger objects go first).
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.ObjectsOrder.YX">
|
||
<summary>
|
||
Objects are sorted by Y coordinate, then by X coordinate in ascending order
|
||
(smaller coordinates go first).
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.ObjectsOrder.XY">
|
||
<summary>
|
||
Objects are sorted by X coordinate, then by Y coordinate in ascending order
|
||
(smaller coordinates go first).
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.BlobCounter">
|
||
<summary>
|
||
Blob counter - counts objects in image, which are separated by black background.
|
||
</summary>
|
||
|
||
<remarks><para>The class counts and extracts stand alone objects in
|
||
images using connected components labeling algorithm.</para>
|
||
|
||
<para><note>The algorithm treats all pixels with values less or equal to <see cref="P:AForge.Imaging.BlobCounter.BackgroundThreshold"/>
|
||
as background, but pixels with higher values are treated as objects' pixels.</note></para>
|
||
|
||
<para>For blobs' searching the class supports 8 bpp indexed grayscale images and
|
||
24/32 bpp color images that are at least two pixels wide. Images that are one
|
||
pixel wide can be processed if they are rotated first, or they can be processed
|
||
with <see cref="T:AForge.Imaging.RecursiveBlobCounter"/>.
|
||
See documentation about <see cref="T:AForge.Imaging.BlobCounterBase"/> for information about which
|
||
pixel formats are supported for extraction of blobs.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create an instance of blob counter algorithm
|
||
BlobCounter bc = new BlobCounter( );
|
||
// process binary image
|
||
bc.ProcessImage( image );
|
||
Rectangle[] rects = bc.GetObjectsRectangles( );
|
||
// process blobs
|
||
foreach ( Rectangle rect in rects )
|
||
{
|
||
// ...
|
||
}
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounter.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.BlobCounter"/> class.
|
||
</summary>
|
||
|
||
<remarks>Creates new instance of the <see cref="T:AForge.Imaging.BlobCounter"/> class with
|
||
an empty objects map. Before using methods, which provide information about blobs
|
||
or extract them, the <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Bitmap)"/>,
|
||
<see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(System.Drawing.Imaging.BitmapData)"/> or <see cref="M:AForge.Imaging.BlobCounterBase.ProcessImage(AForge.Imaging.UnmanagedImage)"/>
|
||
method should be called to collect objects map.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounter.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.BlobCounter"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to look for objects in.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounter.#ctor(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.BlobCounter"/> class.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to look for objects in.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounter.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.BlobCounter"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to look for objects in.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.BlobCounter.BuildObjectsMap(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Actual objects map building.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to process.</param>
|
||
|
||
<remarks>The method supports 8 bpp indexed grayscale images and 24/32 bpp color images.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Cannot process images that are one pixel wide. Rotate the image
|
||
or use <see cref="T:AForge.Imaging.RecursiveBlobCounter"/>.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.BlobCounter.BackgroundThreshold">
|
||
<summary>
|
||
Background threshold's value.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets threshold value for distinguishing between background
|
||
pixel and objects' pixels. All pixel with values less or equal to this property are
|
||
treated as background, but pixels with higher values are treated as objects' pixels.</para>
|
||
|
||
<para><note>In the case of colour images a pixel is treated as objects' pixel if <b>any</b> of its
|
||
RGB values are higher than corresponding values of this threshold.</note></para>
|
||
|
||
<para><note>For processing grayscale image, set the property with all RGB components eqaul.</note></para>
|
||
|
||
<para>Default value is set to <b>(0, 0, 0)</b> - black colour.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ImageStatisticsYCbCr">
|
||
<summary>
|
||
Gather statistics about image in YCbCr color space.
|
||
</summary>
|
||
|
||
<remarks><para>The class is used to accumulate statistical values about images,
|
||
like histogram, mean, standard deviation, etc. for each <b>YCbCr</b> color channel.</para>
|
||
|
||
<para>The class accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// gather statistics
|
||
ImageStatisticsYCbCr stat = new ImageStatisticsYCbCr( image );
|
||
// get Y channel's histogram
|
||
ContinuousHistogram y = stat.Y;
|
||
// check mean value of Y channel
|
||
if ( y.Mean > 0.5 )
|
||
{
|
||
// do further processing
|
||
}
|
||
</code>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Math.ContinuousHistogram"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsYCbCr.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsYCbCr"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsYCbCr.#ctor(System.Drawing.Bitmap,System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsYCbCr"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask image which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask image must be a grayscale/binary (8bpp) image of the same size as the
|
||
specified source image, where black pixels (value 0) correspond to areas which should be excluded
|
||
from processing. So statistics is calculated only for pixels, which are none black in the mask image.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask image must be 8 bpp grayscale image.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsYCbCr.#ctor(System.Drawing.Bitmap,System.Byte[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsYCbCr"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask array which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask array must be of the same size as the specified source image, where 0 values
|
||
correspond to areas which should be excluded from processing. So statistics is calculated only for pixels,
|
||
which have none zero corresponding value in the mask.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsYCbCr.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsYCbCr"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to gather statistics about.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsYCbCr.#ctor(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsYCbCr"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask image which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask image must be a grayscale/binary (8bpp) image of the same size as the
|
||
specified source image, where black pixels (value 0) correspond to areas which should be excluded
|
||
from processing. So statistics is calculated only for pixels, which are none black in the mask image.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask image must be 8 bpp grayscale image.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ImageStatisticsYCbCr.#ctor(AForge.Imaging.UnmanagedImage,System.Byte[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ImageStatisticsYCbCr"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Image to gather statistics about.</param>
|
||
<param name="mask">Mask array which specifies areas to collect statistics for.</param>
|
||
|
||
<remarks><para>The mask array must be of the same size as the specified source image, where 0 values
|
||
correspond to areas which should be excluded from processing. So statistics is calculated only for pixels,
|
||
which have none zero corresponding value in the mask.
|
||
</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Source pixel format is not supported.</exception>
|
||
<exception cref="T:System.ArgumentException">Mask must have the same size as the source image to get statistics for.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsYCbCr.Y">
|
||
<summary>
|
||
Histogram of Y channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsYCbCr.Cb">
|
||
<summary>
|
||
Histogram of Cb channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsYCbCr.Cr">
|
||
<summary>
|
||
Histogram of Cr channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsYCbCr.YWithoutBlack">
|
||
<summary>
|
||
Histogram of Y channel excluding black pixels.
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps statistics about Y channel, which
|
||
excludes all black pixels, what affects mean, standard deviation, etc.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsYCbCr.CbWithoutBlack">
|
||
<summary>
|
||
Histogram of Cb channel excluding black pixels
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps statistics about Cb channel, which
|
||
excludes all black pixels, what affects mean, standard deviation, etc.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsYCbCr.CrWithoutBlack">
|
||
<summary>
|
||
Histogram of Cr channel excluding black pixels
|
||
</summary>
|
||
|
||
<remarks><para>The property keeps statistics about Cr channel, which
|
||
excludes all black pixels, what affects mean, standard deviation, etc.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsYCbCr.PixelsCount">
|
||
<summary>
|
||
Total pixels count in the processed image.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ImageStatisticsYCbCr.PixelsCountWithoutBlack">
|
||
<summary>
|
||
Total pixels count in the processed image excluding black pixels.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.YCbCrFiltering">
|
||
<summary>
|
||
Color filtering in YCbCr color space.
|
||
</summary>
|
||
|
||
<remarks><para>The filter operates in <b>YCbCr</b> color space and filters
|
||
pixels, which color is inside/outside of the specified YCbCr range -
|
||
it keeps pixels with colors inside/outside of the specified range and fills the
|
||
rest with <see cref="P:AForge.Imaging.Filters.YCbCrFiltering.FillColor">specified color</see>.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
YCbCrFiltering filter = new YCbCrFiltering( );
|
||
// set color ranges to keep
|
||
filter.Cb = new Range( -0.2f, 0.0f );
|
||
filter.Cr = new Range( 0.26f, 0.5f );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/ycbcr_filtering.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ColorFiltering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.HSLFiltering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrFiltering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.YCbCrFiltering"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrFiltering.#ctor(AForge.Range,AForge.Range,AForge.Range)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.YCbCrFiltering"/> class.
|
||
</summary>
|
||
|
||
<param name="yRange">Range of Y component.</param>
|
||
<param name="cbRange">Range of Cb component.</param>
|
||
<param name="crRange">Range of Cr component.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.YCbCrFiltering.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrFiltering.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrFiltering.Y">
|
||
<summary>
|
||
Range of Y component, [0, 1].
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrFiltering.Cb">
|
||
<summary>
|
||
Range of Cb component, [-0.5, 0.5].
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrFiltering.Cr">
|
||
<summary>
|
||
Range of Cr component, [-0.5, 0.5].
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrFiltering.FillColor">
|
||
<summary>
|
||
Fill color used to fill filtered pixels.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrFiltering.FillOutsideRange">
|
||
<summary>
|
||
Determines, if pixels should be filled inside or outside specified
|
||
color range.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see langword="true"/>, which means
|
||
the filter removes colors outside of the specified range.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrFiltering.UpdateY">
|
||
<summary>
|
||
Determines, if Y value of filtered pixels should be updated.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if Y channel of filtered pixels should be
|
||
updated with value from <see cref="P:AForge.Imaging.Filters.YCbCrFiltering.FillColor">fill color</see> or not.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrFiltering.UpdateCb">
|
||
<summary>
|
||
Determines, if Cb value of filtered pixels should be updated.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if Cb channel of filtered pixels should be
|
||
updated with value from <see cref="P:AForge.Imaging.Filters.YCbCrFiltering.FillColor">fill color</see> or not.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.YCbCrFiltering.UpdateCr">
|
||
<summary>
|
||
Determines, if Cr value of filtered pixels should be updated.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if Cr channel of filtered pixels should be
|
||
updated with value from <see cref="P:AForge.Imaging.Filters.YCbCrFiltering.FillColor">fill color</see> or not.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BilateralSmoothing">
|
||
<summary>
|
||
Bilateral filter implementation - edge preserving smoothing and noise reduction that uses chromatic and spatial factors.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>Bilateral filter conducts "selective" Gaussian smoothing of areas of same color (domains) which removes noise and contrast artifacts
|
||
while preserving sharp edges.</para>
|
||
|
||
<para>Two major parameters <see cref="P:AForge.Imaging.Filters.BilateralSmoothing.SpatialFactor"/> and <see cref="P:AForge.Imaging.Filters.BilateralSmoothing.ColorFactor"/> define the result of the filter.
|
||
By changing these parameters you may achieve either only noise reduction with little change to the
|
||
image or get nice looking effect to the entire image.</para>
|
||
|
||
<para>Although the filter can use parallel processing large <see cref="P:AForge.Imaging.Filters.BilateralSmoothing.KernelSize"/> values
|
||
(greater than 25) on high resolution images may decrease speed of processing. Also on high
|
||
resolution images small <see cref="P:AForge.Imaging.Filters.BilateralSmoothing.KernelSize"/> values (less than 9) may not provide noticeable
|
||
results.</para>
|
||
|
||
<para>More details on the algorithm can be found by following this
|
||
<a href="http://saplin.blogspot.com/2012/01/bilateral-image-filter-edge-preserving.html">link</a>.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
BilateralSmoothing filter = new BilateralSmoothing( );
|
||
filter.KernelSize = 7;
|
||
filter.SpatialFactor = 10;
|
||
filter.ColorFactor = 60;
|
||
filter.ColorPower = 0.5;
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample13.png" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/bilateral.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BilateralSmoothing.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BilateralSmoothing"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BilateralSmoothing.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BilateralSmoothing.LimitKernelSize">
|
||
<summary>
|
||
Specifies if exception must be thrown in the case a large
|
||
<see cref="P:AForge.Imaging.Filters.BilateralSmoothing.KernelSize">kernel size</see> is used which may lead
|
||
to significant performance issues.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>Default value is set to <see langword="true"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BilateralSmoothing.EnableParallelProcessing">
|
||
<summary>
|
||
Enable or not parallel processing on multi-core CPUs.
|
||
</summary>
|
||
|
||
<remarks><para>If the property is set to <see langword="true"/>, then this image processing
|
||
routine will run in parallel on the systems with multiple core/CPUs. The <see cref="M:AForge.Parallel.For(System.Int32,System.Int32,AForge.Parallel.ForLoopBody)"/>
|
||
is used to make it parallel.</para>
|
||
|
||
<para>Default value is set to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BilateralSmoothing.KernelSize">
|
||
<summary>
|
||
Size of a square for limiting surrounding pixels that take part in calculations, [3, 255].
|
||
</summary>
|
||
|
||
<remarks><para>The greater the value the more is the general power of the filter. Small values
|
||
(less than 9) on high resolution images (3000 pixels wide) do not give significant results.
|
||
Large values increase the number of calculations and degrade performance.</para>
|
||
|
||
<para><note>The value of this property must be an odd integer in the [3, 255] range if
|
||
<see cref="P:AForge.Imaging.Filters.BilateralSmoothing.LimitKernelSize"/> is set to <see langword="false"/> or in the [3, 25] range
|
||
otherwise.</note></para>
|
||
|
||
<para>Default value is set to <b>9</b>.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentOutOfRangeException">The specified value is out of range (see
|
||
eception message for details).</exception>
|
||
<exception cref="T:System.ArgumentException">The value of this must be an odd integer.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BilateralSmoothing.SpatialFactor">
|
||
<summary>
|
||
Determines smoothing power within a color domain (neighbor pixels of similar color), >= 1.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>Default value is set to <b>10</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BilateralSmoothing.SpatialPower">
|
||
<summary>
|
||
Exponent power, used in Spatial function calculation, >= 1.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>Default value is set to <b>2</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BilateralSmoothing.ColorFactor">
|
||
<summary>
|
||
Determines the variance of color for a color domain, >= 1.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>Default value is set to <b>50</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BilateralSmoothing.ColorPower">
|
||
<summary>
|
||
Exponent power, used in Color function calculation, >= 1.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>Default value is set to <b>2</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BilateralSmoothing.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Opening">
|
||
<summary>
|
||
Opening operator from Mathematical Morphology.
|
||
</summary>
|
||
|
||
<remarks><para>Opening morphology operator equals to <see cref="T:AForge.Imaging.Filters.Erosion">erosion</see> followed
|
||
by <see cref="T:AForge.Imaging.Filters.Dilatation">dilatation</see>.</para>
|
||
|
||
<para>Applied to binary image, the filter may be used for removing small object keeping big objects
|
||
unchanged. Since erosion is used first, it removes all small objects. Then dilatation restores big
|
||
objects, which were not removed by erosion.</para>
|
||
|
||
<para>See documentation to <see cref="T:AForge.Imaging.Filters.Erosion"/> and <see cref="T:AForge.Imaging.Filters.Dilatation"/> classes for more
|
||
information and list of supported pixel formats.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Opening filter = new Opening( );
|
||
// apply the filter
|
||
filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample12.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/opening.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Erosion"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Closing"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Opening"/> class.
|
||
</summary>
|
||
|
||
<remarks><para>Initializes new instance of the <see cref="T:AForge.Imaging.Filters.Opening"/> class using
|
||
default structuring element for both <see cref="T:AForge.Imaging.Filters.Erosion"/> and <see cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
classes - 3x3 structuring element with all elements equal to 1.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.#ctor(System.Int16[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Opening"/> class.
|
||
</summary>
|
||
|
||
<param name="se">Structuring element.</param>
|
||
|
||
<remarks><para>See documentation to <see cref="T:AForge.Imaging.Filters.Erosion"/> and <see cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
classes for information about structuring element constraints.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The filter accepts bitmap data as input and returns the result
|
||
of image processing filter as new image. The source image data are kept
|
||
unchanged.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Source image in unmanaged memory to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image in unmanaged memory to apply filter to.</param>
|
||
<param name="destinationImage">Destination image in unmanaged memory to put result into.</param>
|
||
|
||
<remarks><para>The method keeps the source image unchanged and puts result of image processing
|
||
into destination image.</para>
|
||
|
||
<para><note>The destination image must have the same width and height as source image. Also
|
||
destination image must have pixel format, which is expected by particular filter (see
|
||
<see cref="P:AForge.Imaging.Filters.Opening.FormatTranslations"/> property for information about pixel format conversions).</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Incorrect destination pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Destination image has wrong width and/or height.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.ApplyInPlace(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.ApplyInPlace(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.ApplyInPlace(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an unmanaged image.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source unmanaged image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.ApplyInPlace(System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image or its part.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.ApplyInPlace(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image or its part.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Opening.ApplyInPlace(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an unmanaged image or its part.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Opening.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Dilatation">
|
||
<summary>
|
||
Dilatation operator from Mathematical Morphology.
|
||
</summary>
|
||
|
||
<remarks><para>The filter assigns maximum value of surrounding pixels to each pixel of
|
||
the result image. Surrounding pixels, which should be processed, are specified by
|
||
structuring element: 1 - to process the neighbor, -1 - to skip it.</para>
|
||
|
||
<para>The filter especially useful for binary image processing, where it allows to grow
|
||
separate objects or join objects.</para>
|
||
|
||
<para>For processing image with 3x3 structuring element, there are different optimizations
|
||
available, like <see cref="T:AForge.Imaging.Filters.Dilatation3x3"/> and <see cref="T:AForge.Imaging.Filters.BinaryDilatation3x3"/>.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24 and 48 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Dilatation filter = new Dilatation( );
|
||
// apply the filter
|
||
filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample12.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/dilatation.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Erosion"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Closing"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Opening"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Dilatation3x3"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.BinaryDilatation3x3"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Dilatation.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Dilatation"/> class.
|
||
</summary>
|
||
|
||
<remarks><para>Initializes new instance of the <see cref="T:AForge.Imaging.Filters.Dilatation"/> class using
|
||
default structuring element - 3x3 structuring element with all elements equal to 1.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Dilatation.#ctor(System.Int16[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Dilatation"/> class.
|
||
</summary>
|
||
|
||
<param name="se">Structuring element.</param>
|
||
|
||
<remarks><para>Structuring elemement for the dilatation morphological operator
|
||
must be square matrix with odd size in the range of [3, 99].</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid size of structuring element.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Dilatation.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Dilatation.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.FiltersSequence">
|
||
<summary>
|
||
Filters' collection to apply to an image in sequence.
|
||
</summary>
|
||
|
||
<remarks><para>The class represents collection of filters, which need to be applied
|
||
to an image in sequence. Using the class user may specify set of filters, which will
|
||
be applied to source image one by one in the order user defines them.</para>
|
||
|
||
<para>The class itself does not define which pixel formats are accepted for the source
|
||
image and which pixel formats may be produced by the filter. Format of acceptable source
|
||
and possible output is defined by filters, which added to the sequence.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter, which is binarization sequence
|
||
FiltersSequence filter = new FiltersSequence(
|
||
new GrayscaleBT709( ),
|
||
new Threshold( )
|
||
);
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FiltersSequence.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.FiltersSequence"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FiltersSequence.#ctor(AForge.Imaging.Filters.IFilter[])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.FiltersSequence"/> class.
|
||
</summary>
|
||
|
||
<param name="filters">Sequence of filters to apply.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FiltersSequence.Add(AForge.Imaging.Filters.IFilter)">
|
||
<summary>
|
||
Add new filter to the sequence.
|
||
</summary>
|
||
|
||
<param name="filter">Filter to add to the sequence.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FiltersSequence.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:System.ApplicationException">No filters were added into the filters' sequence.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FiltersSequence.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The filter accepts bitmap data as input and returns the result
|
||
of image processing filter as new image. The source image data are kept
|
||
unchanged.</remarks>
|
||
|
||
<exception cref="T:System.ApplicationException">No filters were added into the filters' sequence.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FiltersSequence.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Source image in unmanaged memory to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:System.ApplicationException">No filters were added into the filters' sequence.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.FiltersSequence.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image in unmanaged memory to apply filter to.</param>
|
||
<param name="destinationImage">Destination image in unmanaged memory to put result into.</param>
|
||
|
||
<remarks><para>The method keeps the source image unchanged and puts result of image processing
|
||
into destination image.</para>
|
||
|
||
<para><note>The destination image must have width, height and pixel format as it is expected by
|
||
the final filter in the sequence.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ApplicationException">No filters were added into the filters' sequence.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.FiltersSequence.Item(System.Int32)">
|
||
<summary>
|
||
Get filter at the specified index.
|
||
</summary>
|
||
|
||
<param name="index">Index of filter to get.</param>
|
||
|
||
<returns>Returns filter at specified index.</returns>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ContrastCorrection">
|
||
<summary>
|
||
Contrast adjusting in RGB color space.
|
||
</summary>
|
||
|
||
<remarks><para>The filter operates in <b>RGB</b> color space and adjusts
|
||
pixels' contrast value by increasing RGB values of bright pixel and decreasing
|
||
RGB values of dark pixels (or vise versa if contrast needs to be decreased).
|
||
The filter is based on <see cref="T:AForge.Imaging.Filters.LevelsLinear"/>
|
||
filter and simply sets all input ranges to (<see cref="P:AForge.Imaging.Filters.ContrastCorrection.Factor"/>, 255-<see cref="P:AForge.Imaging.Filters.ContrastCorrection.Factor"/>) and
|
||
all output range to (0, 255) in the case if the factor value is positive.
|
||
If the factor value is negative, then all input ranges are set to
|
||
(0, 255 ) and all output ranges are set to
|
||
(-<see cref="P:AForge.Imaging.Filters.ContrastCorrection.Factor"/>, 255_<see cref="P:AForge.Imaging.Filters.ContrastCorrection.Factor"/>).</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.LevelsLinear"/> documentation forr more information about the base filter.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ContrastCorrection filter = new ContrastCorrection( 15 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/contrast_correction.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.LevelsLinear"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ContrastCorrection.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ContrastCorrection"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ContrastCorrection.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ContrastCorrection"/> class.
|
||
</summary>
|
||
|
||
<param name="factor">Contrast <see cref="P:AForge.Imaging.Filters.ContrastCorrection.Factor">adjusting factor</see>.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ContrastCorrection.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ContrastCorrection.Factor">
|
||
<summary>
|
||
Contrast adjusting factor, [-127, 127].
|
||
</summary>
|
||
|
||
<remarks><para>Factor which is used to adjust contrast. Factor values greater than
|
||
0 increase contrast making light areas lighter and dark areas darker. Factor values
|
||
less than 0 decrease contrast - decreasing variety of contrast.</para>
|
||
|
||
<para>Default value is set to <b>10</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ContrastCorrection.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Textures.MarbleTexture">
|
||
<summary>
|
||
Marble texture.
|
||
</summary>
|
||
|
||
<remarks><para>The texture generator creates textures with effect of marble.
|
||
The <see cref="P:AForge.Imaging.Textures.MarbleTexture.XPeriod"/> and <see cref="P:AForge.Imaging.Textures.MarbleTexture.YPeriod"/> properties allow to control the look
|
||
of marble texture in X/Y directions.</para>
|
||
|
||
<para>The generator is based on the <see cref="T:AForge.Math.PerlinNoise">Perlin noise function</see>.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create texture generator
|
||
MarbleTexture textureGenerator = new MarbleTexture( );
|
||
// generate new texture
|
||
float[,] texture = textureGenerator.Generate( 320, 240 );
|
||
// convert it to image to visualize
|
||
Bitmap textureImage = TextureTools.ToBitmap( texture );
|
||
</code>
|
||
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/marble_texture.jpg" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.MarbleTexture.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Textures.MarbleTexture"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.MarbleTexture.#ctor(System.Double,System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Textures.MarbleTexture"/> class.
|
||
</summary>
|
||
|
||
<param name="xPeriod">X period value.</param>
|
||
<param name="yPeriod">Y period value.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.MarbleTexture.Generate(System.Int32,System.Int32)">
|
||
<summary>
|
||
Generate texture.
|
||
</summary>
|
||
|
||
<param name="width">Texture's width.</param>
|
||
<param name="height">Texture's height.</param>
|
||
|
||
<returns>Two dimensional array of intensities.</returns>
|
||
|
||
<remarks>Generates new texture of the specified size.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Textures.MarbleTexture.Reset">
|
||
<summary>
|
||
Reset generator.
|
||
</summary>
|
||
|
||
<remarks>Regenerates internal random numbers.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Textures.MarbleTexture.XPeriod">
|
||
<summary>
|
||
X period value, ≥ 2.
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <b>5</b>.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Textures.MarbleTexture.YPeriod">
|
||
<summary>
|
||
Y period value, ≥ 2.
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <b>10</b>.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.TransformToPolar">
|
||
<summary>
|
||
Transform rectangle image into circle (to polar coordinates).
|
||
</summary>
|
||
|
||
<remarks><para>The image processing routine does transformation of the source image into
|
||
circle (polar transformation). The produced effect is similar to GIMP's "Polar Coordinates"
|
||
distortion filter (or its equivalent in Photoshop).
|
||
</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
TransformToPolar filter = new TransformToPolar( );
|
||
filter.OffsetAngle = 0;
|
||
filter.CirlceDepth = 1;
|
||
filter.UseOriginalImageSize = false;
|
||
filter.NewSize = new Size( 200, 200 );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample21.png" width="320" height="160"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/polar.png" width="200" height="200"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.TransformFromPolar"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TransformToPolar.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.TransformToPolar"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TransformToPolar.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TransformToPolar.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformToPolar.CirlceDepth">
|
||
<summary>
|
||
Circularity coefficient of the mapping, [0, 1].
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies circularity coefficient of the mapping to be done.
|
||
If the coefficient is set to 1, then the mapping will produce ideal circle. If the coefficient
|
||
is set to 0, then the mapping will occupy entire area of the destination image (circle will
|
||
be extended into direction of edges). Changing the property from 0 to 1 user may balance
|
||
circularity of the produced output.
|
||
</para>
|
||
|
||
<para>Default value is set to <b>1</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformToPolar.OffsetAngle">
|
||
<summary>
|
||
Offset angle used to shift mapping, [-360, 360] degrees.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies offset angle, which can be used to shift
|
||
mapping in counter clockwise direction. For example, if user sets this property to 30, then
|
||
start of polar mapping is shifted by 30 degrees in counter clockwise direction.</para>
|
||
|
||
<para>Default value is set to <b>0</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformToPolar.MapBackwards">
|
||
<summary>
|
||
Specifies direction of mapping.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies direction of mapping source image's X axis. If the
|
||
property is set to <see langword="false"/>, the image is mapped in clockwise direction;
|
||
otherwise in counter clockwise direction.</para>
|
||
|
||
<para>Default value is set to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformToPolar.MapFromTop">
|
||
<summary>
|
||
Specifies if top of the source image should go to center or edge of the result image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies position of the source image's top line in the destination
|
||
image. If the property is set to <see langword="true"/>, then it goes to the center of the result image;
|
||
otherwise it goes to the edge.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformToPolar.FillColor">
|
||
<summary>
|
||
Fill color to use for unprocessed areas.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies fill color, which is used to fill unprocessed areas.
|
||
In the case if <see cref="P:AForge.Imaging.Filters.TransformToPolar.CirlceDepth"/> is greater than 0, then there will be some areas on
|
||
the image's edge, which are not filled by the produced "circular" image, but are filled by
|
||
the specified color.
|
||
</para>
|
||
|
||
<para>Default value is set to <see cref="P:System.Drawing.Color.White"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformToPolar.NewSize">
|
||
<summary>
|
||
Size of destination image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies size of result image produced by this image
|
||
processing routine in the case if <see cref="P:AForge.Imaging.Filters.TransformToPolar.UseOriginalImageSize"/> property
|
||
is set to <see langword="false"/>.</para>
|
||
|
||
<para><note>Both width and height must be in the [1, 10000] range.</note></para>
|
||
|
||
<para>Default value is set to <b>200 x 200</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformToPolar.UseOriginalImageSize">
|
||
<summary>
|
||
Use source image size for destination or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if the image processing routine should create destination
|
||
image of the same size as original image or of the size specified by <see cref="P:AForge.Imaging.Filters.TransformToPolar.NewSize"/>
|
||
property.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformToPolar.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.TransformFromPolar">
|
||
<summary>
|
||
Transform polar image into rectangle.
|
||
</summary>
|
||
|
||
<remarks>The image processing routine is oposite transformation to the one done by <see cref="T:AForge.Imaging.Filters.TransformToPolar"/>
|
||
routine, i.e. transformation from polar image into rectangle. The produced effect is similar to GIMP's
|
||
"Polar Coordinates" distortion filter (or its equivalent in Photoshop).
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
TransformFromPolar filter = new TransformFromPolar( );
|
||
filter.OffsetAngle = 0;
|
||
filter.CirlceDepth = 1;
|
||
filter.UseOriginalImageSize = false;
|
||
filter.NewSize = new Size( 360, 120 );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample22.png" width="240" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/from_polar.png" width="360" height="120"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.TransformToPolar"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TransformFromPolar.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.TransformFromPolar"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TransformFromPolar.CalculateNewImageSize(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Calculates new image size.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
|
||
<returns>New image size - size of the destination image.</returns>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TransformFromPolar.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformFromPolar.CirlceDepth">
|
||
<summary>
|
||
Circularity coefficient of the mapping, [0, 1].
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies circularity coefficient of the mapping to be done.
|
||
If the coefficient is set to 1, then destination image will be produced by mapping
|
||
ideal circle from the source image, which is placed in source image's centre and its
|
||
radius equals to the minimum distance from centre to the image’s edge. If the coefficient
|
||
is set to 0, then the mapping will use entire area of the source image (circle will
|
||
be extended into direction of edges). Changing the property from 0 to 1 user may balance
|
||
circularity of the produced output.</para>
|
||
|
||
<para>Default value is set to <b>1</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformFromPolar.OffsetAngle">
|
||
<summary>
|
||
Offset angle used to shift mapping, [-360, 360] degrees.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies offset angle, which can be used to shift
|
||
mapping in clockwise direction. For example, if user sets this property to 30, then
|
||
start of polar mapping is shifted by 30 degrees in clockwise direction.</para>
|
||
|
||
<para>Default value is set to <b>0</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformFromPolar.MapBackwards">
|
||
<summary>
|
||
Specifies direction of mapping.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies direction of mapping source image. If the
|
||
property is set to <see langword="false"/>, the image is mapped in clockwise direction;
|
||
otherwise in counter clockwise direction.</para>
|
||
|
||
<para>Default value is set to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformFromPolar.MapFromTop">
|
||
<summary>
|
||
Specifies if centre of the source image should to top or bottom of the result image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies position of the source image's centre in the destination image.
|
||
If the property is set to <see langword="true"/>, then it goes to the top of the result image;
|
||
otherwise it goes to the bottom.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformFromPolar.NewSize">
|
||
<summary>
|
||
Size of destination image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies size of result image produced by this image
|
||
processing routine in the case if <see cref="P:AForge.Imaging.Filters.TransformFromPolar.UseOriginalImageSize"/> property
|
||
is set to <see langword="false"/>.</para>
|
||
|
||
<para><note>Both width and height must be in the [1, 10000] range.</note></para>
|
||
|
||
<para>Default value is set to <b>200 x 200</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformFromPolar.UseOriginalImageSize">
|
||
<summary>
|
||
Use source image size for destination or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if the image processing routine should create destination
|
||
image of the same size as original image or of the size specified by <see cref="P:AForge.Imaging.Filters.TransformFromPolar.NewSize"/>
|
||
property.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TransformFromPolar.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.RotateBicubic">
|
||
<summary>
|
||
Rotate image using bicubic interpolation.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements image rotation filter using bicubic
|
||
interpolation algorithm. It uses bicubic kernel W(x) as described on
|
||
<a href="http://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm">Wikipedia</a>
|
||
(coefficient <b>a</b> is set to <b>-0.5</b>).</para>
|
||
|
||
<para><note>Rotation is performed in counterclockwise direction.</note></para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter - rotate for 30 degrees keeping original image size
|
||
RotateBicubic filter = new RotateBicubic( 30, true );
|
||
// apply the filter
|
||
Bitmap newImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample9.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/rotate_bicubic.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.RotateBilinear"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.RotateNearestNeighbor"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateBicubic.#ctor(System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.RotateBicubic"/> class.
|
||
</summary>
|
||
|
||
<param name="angle">Rotation angle.</param>
|
||
|
||
<remarks><para>This constructor sets <see cref="P:AForge.Imaging.Filters.BaseRotateFilter.KeepSize"/> property
|
||
to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateBicubic.#ctor(System.Double,System.Boolean)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.RotateBicubic"/> class.
|
||
</summary>
|
||
|
||
<param name="angle">Rotation angle.</param>
|
||
<param name="keepSize">Keep image size or not.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.RotateBicubic.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.RotateBicubic.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.VerticalRunLengthSmoothing">
|
||
<summary>
|
||
Vertical run length smoothing algorithm.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements vertical run length smoothing algorithm, which
|
||
is described in: <b>K.Y. Wong, R.G. Casey and F.M. Wahl, "Document analysis system,"
|
||
IBM J. Res. Devel., Vol. 26, NO. 6,111). 647-656, 1982.</b></para>
|
||
|
||
<para>Unlike the original description of this algorithm, this implementation must be applied
|
||
to inverted binary images containing document, i.e. white text on black background. So this
|
||
implementation fills vertical black gaps between white pixels.</para>
|
||
|
||
<para><note>This algorithm is usually used together with <see cref="T:AForge.Imaging.Filters.HorizontalRunLengthSmoothing"/>,
|
||
<see cref="T:AForge.Imaging.Filters.Intersect"/> and then further analysis of white blobs.</note></para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images, which are supposed to be binary inverted documents.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
VerticalRunLengthSmoothing vrls = new VerticalRunLengthSmoothing( 32 );
|
||
// apply the filter
|
||
vrls.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample24.png" width="480" height="320"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/vrls.png" width="480" height="320"/>
|
||
</remarks>
|
||
|
||
<see cref="T:AForge.Imaging.Filters.HorizontalRunLengthSmoothing"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.VerticalRunLengthSmoothing.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.VerticalRunLengthSmoothing"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.VerticalRunLengthSmoothing.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.VerticalRunLengthSmoothing"/> class.
|
||
</summary>
|
||
|
||
<param name="maxGapSize">Maximum gap size to fill (see <see cref="P:AForge.Imaging.Filters.VerticalRunLengthSmoothing.MaxGapSize"/>).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.VerticalRunLengthSmoothing.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.VerticalRunLengthSmoothing.MaxGapSize">
|
||
<summary>
|
||
Maximum gap size to fill (in pixels).
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies maximum vertical gap between white pixels to fill.
|
||
If number of black pixels between some white pixels is bigger than this value, then those
|
||
black pixels are left as is; otherwise the gap is filled with white pixels.
|
||
</para>
|
||
|
||
<para>Default value is set to <b>10</b>. Minimum value is 1. Maximum value is 1000.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.VerticalRunLengthSmoothing.ProcessGapsWithImageBorders">
|
||
<summary>
|
||
Process gaps between objects and image borders or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property sets if gaps between image borders and objects must be treated as
|
||
gaps between objects and also filled.</para>
|
||
|
||
<para>Default value is set to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.VerticalRunLengthSmoothing.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.SaltAndPepperNoise">
|
||
<summary>
|
||
Salt and pepper noise.
|
||
</summary>
|
||
|
||
<remarks><para>The filter adds random salt and pepper noise - sets
|
||
maximum or minimum values to randomly selected pixels.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24/32 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
SaltAndPepperNoise filter = new SaltAndPepperNoise( 10 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/salt_noise.jpg" width="480" height="361" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SaltAndPepperNoise.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SaltAndPepperNoise"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SaltAndPepperNoise.#ctor(System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SaltAndPepperNoise"/> class.
|
||
</summary>
|
||
|
||
<param name="noiseAmount">Amount of noise to generate in percents, [0, 100].</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SaltAndPepperNoise.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SaltAndPepperNoise.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.SaltAndPepperNoise.NoiseAmount">
|
||
<summary>
|
||
Amount of noise to generate in percents, [0, 100].
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.AdditiveNoise">
|
||
<summary>
|
||
Additive noise filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter adds random value to each pixel of the source image.
|
||
The distribution of random values can be specified by <see cref="P:AForge.Imaging.Filters.AdditiveNoise.Generator">random generator</see>.
|
||
</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create random generator
|
||
IRandomNumberGenerator generator = new UniformGenerator( new Range( -50, 50 ) );
|
||
// create filter
|
||
AdditiveNoise filter = new AdditiveNoise( generator );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/additive_noise.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.AdditiveNoise.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.AdditiveNoise"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.AdditiveNoise.#ctor(AForge.Math.Random.IRandomNumberGenerator)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.AdditiveNoise"/> class.
|
||
</summary>
|
||
|
||
<param name="generator">Random number genertor used to add noise.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.AdditiveNoise.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.AdditiveNoise.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.AdditiveNoise.Generator">
|
||
<summary>
|
||
Random number genertor used to add noise.
|
||
</summary>
|
||
|
||
<remarks>Default generator is uniform generator in the range of (-10, 10).</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Closing">
|
||
<summary>
|
||
Closing operator from Mathematical Morphology.
|
||
</summary>
|
||
|
||
<remarks><para>Closing morphology operator equals to <see cref="T:AForge.Imaging.Filters.Dilatation">dilatation</see> followed
|
||
by <see cref="T:AForge.Imaging.Filters.Erosion">erosion</see>.</para>
|
||
|
||
<para>Applied to binary image, the filter may be used connect or fill objects. Since dilatation is used
|
||
first, it may connect/fill object areas. Then erosion restores objects. But since dilatation may connect
|
||
something before, erosion may not remove after that because of the formed connection.</para>
|
||
|
||
<para>See documentation to <see cref="T:AForge.Imaging.Filters.Erosion"/> and <see cref="T:AForge.Imaging.Filters.Dilatation"/> classes for more
|
||
information and list of supported pixel formats.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Closing filter = new Closing( );
|
||
// apply the filter
|
||
filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample12.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/closing.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Erosion"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Opening"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Closing"/> class.
|
||
</summary>
|
||
|
||
<remarks><para>Initializes new instance of the <see cref="T:AForge.Imaging.Filters.Closing"/> class using
|
||
default structuring element for both <see cref="T:AForge.Imaging.Filters.Erosion"/> and <see cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
classes - 3x3 structuring element with all elements equal to 1.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.#ctor(System.Int16[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Closing"/> class.
|
||
</summary>
|
||
|
||
<param name="se">Structuring element.</param>
|
||
|
||
<remarks><para>See documentation to <see cref="T:AForge.Imaging.Filters.Erosion"/> and <see cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
classes for information about structuring element constraints.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.Apply(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.Apply(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The filter accepts bitmap data as input and returns the result
|
||
of image processing filter as new image. The source image data are kept
|
||
unchanged.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.Apply(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="image">Source image in unmanaged memory to apply filter to.</param>
|
||
|
||
<returns>Returns filter's result obtained by applying the filter to
|
||
the source image.</returns>
|
||
|
||
<remarks>The method keeps the source image unchanged and returns
|
||
the result of image processing filter as new image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.Apply(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an image in unmanaged memory.
|
||
</summary>
|
||
|
||
<param name="sourceImage">Source image in unmanaged memory to apply filter to.</param>
|
||
<param name="destinationImage">Destination image in unmanaged memory to put result into.</param>
|
||
|
||
<remarks><para>The method keeps the source image unchanged and puts result of image processing
|
||
into destination image.</para>
|
||
|
||
<para><note>The destination image must have the same width and height as source image. Also
|
||
destination image must have pixel format, which is expected by particular filter (see
|
||
<see cref="P:AForge.Imaging.Filters.Closing.FormatTranslations"/> property for information about pixel format conversions).</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Incorrect destination pixel format.</exception>
|
||
<exception cref="T:AForge.Imaging.InvalidImagePropertiesException">Destination image has wrong width and/or height.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.ApplyInPlace(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.ApplyInPlace(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Apply filter to an image.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.ApplyInPlace(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Apply filter to an unmanaged image.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to apply filter to.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source unmanaged image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.ApplyInPlace(System.Drawing.Bitmap,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image or its part.
|
||
</summary>
|
||
|
||
<param name="image">Image to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.ApplyInPlace(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an image or its part.
|
||
</summary>
|
||
|
||
<param name="imageData">Image data to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Closing.ApplyInPlace(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Apply filter to an unmanaged image or its part.
|
||
</summary>
|
||
|
||
<param name="image">Unmanaged image to apply filter to.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<remarks>The method applies the filter directly to the provided source image.</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Closing.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.HueModifier">
|
||
<summary>
|
||
Hue modifier.
|
||
</summary>
|
||
|
||
<remarks><para>The filter operates in <b>HSL</b> color space and updates
|
||
pixels' hue values setting it to the specified value (luminance and
|
||
saturation are kept unchanged). The result of the filter looks like the image
|
||
is observed through a glass of the given color.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images for processing.</para>
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
HueModifier filter = new HueModifier( 180 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361" />
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/hue_modifier.jpg" width="480" height="361" />
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HueModifier.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HueModifier"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HueModifier.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.HueModifier"/> class.
|
||
</summary>
|
||
|
||
<param name="hue">Hue value to set.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.HueModifier.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HueModifier.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.HueModifier.Hue">
|
||
<summary>
|
||
Hue value to set, [0, 359].
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <b>0</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BayerPattern">
|
||
<summary>
|
||
Set of Bayer patterns supported by <see cref="T:AForge.Imaging.Filters.BayerFilterOptimized"/>.
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.BayerPattern.GRBG">
|
||
<summary>
|
||
Pattern:<br /><br />
|
||
G R<br />
|
||
B G
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.BayerPattern.BGGR">
|
||
<summary>
|
||
Pattern:<br /><br />
|
||
B G<br />
|
||
G R
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BayerFilterOptimized">
|
||
<summary>
|
||
Optimized Bayer fileter image processing routine.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements <a href="http://en.wikipedia.org/wiki/Bayer_filter">Bayer filter</a>
|
||
routine, which creates color image out of grayscale image produced by image sensor built with
|
||
Bayer color matrix.</para>
|
||
|
||
<para>This class does all the same as <see cref="T:AForge.Imaging.Filters.BayerFilter"/> class. However this version is
|
||
optimized for some well known patterns defined in <see cref="T:AForge.Imaging.Filters.BayerPattern"/> enumeration.
|
||
Also this class processes images with even width and height only. Image size must be at least 2x2 pixels.
|
||
</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and produces 24 bpp RGB image.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
BayerFilter filter = new BayerFilter( );
|
||
// apply the filter
|
||
Bitmap rgbImage = filter.Apply( image );
|
||
</code>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.BayerFilter"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BayerFilterOptimized.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BayerFilterOptimized"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BayerFilterOptimized.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BayerFilterOptimized.Pattern">
|
||
<summary>
|
||
Bayer pattern of source images to decode.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies Bayer pattern of source images to be
|
||
decoded into color images.</para>
|
||
|
||
<para>Default value is set to <see cref="F:AForge.Imaging.Filters.BayerPattern.GRBG"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BayerFilterOptimized.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ColorRemapping">
|
||
<summary>
|
||
Color remapping.
|
||
</summary>
|
||
|
||
<remarks><para>The filter allows to remap colors of the image. Unlike <see cref="T:AForge.Imaging.Filters.LevelsLinear"/> filter
|
||
the filter allow to do non-linear remapping. For each pixel of specified image the filter changes
|
||
its values (value of each color plane) to values, which are stored in remapping arrays by corresponding
|
||
indexes. For example, if pixel's RGB value equals to (32, 96, 128), the filter will change it to
|
||
(<see cref="P:AForge.Imaging.Filters.ColorRemapping.RedMap"/>[32], <see cref="P:AForge.Imaging.Filters.ColorRemapping.GreenMap"/>[96], <see cref="P:AForge.Imaging.Filters.ColorRemapping.BlueMap"/>[128]).</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create map
|
||
byte[] map = new byte[256];
|
||
for ( int i = 0; i < 256; i++ )
|
||
{
|
||
map[i] = (byte) Math.Min( 255, Math.Pow( 2, (double) i / 32 ) );
|
||
}
|
||
// create filter
|
||
ColorRemapping filter = new ColorRemapping( map, map, map );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/color_remapping.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ColorRemapping.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ColorRemapping"/> class.
|
||
</summary>
|
||
|
||
<remarks>Initializes the filter without any remapping. All
|
||
pixel values are mapped to the same values.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ColorRemapping.#ctor(System.Byte[],System.Byte[],System.Byte[])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ColorRemapping"/> class.
|
||
</summary>
|
||
|
||
<param name="redMap">Red map.</param>
|
||
<param name="greenMap">Green map.</param>
|
||
<param name="blueMap">Blue map.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ColorRemapping.#ctor(System.Byte[])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ColorRemapping"/> class.
|
||
</summary>
|
||
|
||
<param name="grayMap">Gray map.</param>
|
||
|
||
<remarks>This constructor is supposed for grayscale images.</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ColorRemapping.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorRemapping.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorRemapping.RedMap">
|
||
<summary>
|
||
Remapping array for red color plane.
|
||
</summary>
|
||
|
||
<remarks><para>The remapping array should contain 256 remapping values. The remapping occurs
|
||
by changing pixel's red value <b>r</b> to <see cref="P:AForge.Imaging.Filters.ColorRemapping.RedMap"/>[r].</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">A map should be array with 256 value.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorRemapping.GreenMap">
|
||
<summary>
|
||
Remapping array for green color plane.
|
||
</summary>
|
||
|
||
<remarks><para>The remapping array should contain 256 remapping values. The remapping occurs
|
||
by changing pixel's green value <b>g</b> to <see cref="P:AForge.Imaging.Filters.ColorRemapping.GreenMap"/>[g].</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">A map should be array with 256 value.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorRemapping.BlueMap">
|
||
<summary>
|
||
Remapping array for blue color plane.
|
||
</summary>
|
||
|
||
<remarks><para>The remapping array should contain 256 remapping values. The remapping occurs
|
||
by changing pixel's blue value <b>b</b> to <see cref="P:AForge.Imaging.Filters.ColorRemapping.BlueMap"/>[b].</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">A map should be array with 256 value.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ColorRemapping.GrayMap">
|
||
<summary>
|
||
Remapping array for gray color.
|
||
</summary>
|
||
|
||
<remarks><para>The remapping array should contain 256 remapping values. The remapping occurs
|
||
by changing pixel's value <b>g</b> to <see cref="P:AForge.Imaging.Filters.ColorRemapping.GrayMap"/>[g].</para>
|
||
|
||
<para>The gray map is for grayscale images only.</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">A map should be array with 256 value.</exception>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.OrderedDithering">
|
||
<summary>
|
||
Binarization with thresholds matrix.
|
||
</summary>
|
||
|
||
<remarks><para>Idea of the filter is the same as idea of <see cref="T:AForge.Imaging.Filters.Threshold"/> filter -
|
||
change pixel value to white, if its intensity is equal or higher than threshold value, or
|
||
to black otherwise. But instead of using single threshold value for all pixel, the filter
|
||
uses matrix of threshold values. Processing image is divided to adjacent windows of matrix
|
||
size each. For pixels binarization inside of each window, corresponding threshold values are
|
||
used from specified threshold matrix.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create binarization matrix
|
||
byte[,] matrix = new byte[4, 4]
|
||
{
|
||
{ 95, 233, 127, 255 },
|
||
{ 159, 31, 191, 63 },
|
||
{ 111, 239, 79, 207 },
|
||
{ 175, 47, 143, 15 }
|
||
};
|
||
// create filter
|
||
OrderedDithering filter = new OrderedDithering( matrix );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/grayscale.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/ordered_dithering.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.BayerDithering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OrderedDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.OrderedDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OrderedDithering.#ctor(System.Byte[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.OrderedDithering"/> class.
|
||
</summary>
|
||
|
||
<param name="matrix">Thresholds matrix.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.OrderedDithering.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.OrderedDithering.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BayerDithering">
|
||
<summary>
|
||
Ordered dithering using Bayer matrix.
|
||
</summary>
|
||
|
||
<remarks><para>The filter represents <see cref="T:AForge.Imaging.Filters.OrderedDithering"/> filter initialized
|
||
with the next threshold matrix:</para>
|
||
<code>
|
||
byte[,] matrix = new byte[4, 4]
|
||
{
|
||
{ 0, 192, 48, 240 },
|
||
{ 128, 64, 176, 112 },
|
||
{ 32, 224, 16, 208 },
|
||
{ 160, 96, 144, 80 }
|
||
};
|
||
</code>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
BayerDithering filter = new BayerDithering( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/grayscale.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/bayer_dithering.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BayerDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BayerDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.VerticalIntensityStatistics">
|
||
<summary>
|
||
Vertical intensity statistics.
|
||
</summary>
|
||
|
||
<remarks><para>The class provides information about vertical distribution
|
||
of pixel intensities, which may be used to locate objects, their centers, etc.
|
||
</para>
|
||
|
||
<para>The class accepts grayscale (8 bpp indexed and 16 bpp) and color (24, 32, 48 and 64 bpp) images.
|
||
In the case of 32 and 64 bpp color images, the alpha channel is not processed - statistics is not
|
||
gathered for this channel.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// collect statistics
|
||
VerticalIntensityStatistics vis = new VerticalIntensityStatistics( sourceImage );
|
||
// get gray histogram (for grayscale image)
|
||
Histogram histogram = vis.Gray;
|
||
// output some histogram's information
|
||
System.Diagnostics.Debug.WriteLine( "Mean = " + histogram.Mean );
|
||
System.Diagnostics.Debug.WriteLine( "Min = " + histogram.Min );
|
||
System.Diagnostics.Debug.WriteLine( "Max = " + histogram.Max );
|
||
</code>
|
||
|
||
<para><b>Sample grayscale image with its vertical intensity histogram:</b></para>
|
||
<img src="img/imaging/ver_histogram.jpg" width="450" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.HorizontalIntensityStatistics"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.VerticalIntensityStatistics.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.VerticalIntensityStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Source image.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.VerticalIntensityStatistics.#ctor(System.Drawing.Imaging.BitmapData)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.VerticalIntensityStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.VerticalIntensityStatistics.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.HorizontalIntensityStatistics"/> class.
|
||
</summary>
|
||
|
||
<param name="image">Source unmanaged image.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported pixel format of the source image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.VerticalIntensityStatistics.ProcessImage(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Gather vertical intensity statistics for specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.VerticalIntensityStatistics.Red">
|
||
<summary>
|
||
Histogram for red channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.VerticalIntensityStatistics.Green">
|
||
<summary>
|
||
Histogram for green channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.VerticalIntensityStatistics.Blue">
|
||
<summary>
|
||
Histogram for blue channel.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.VerticalIntensityStatistics.Gray">
|
||
<summary>
|
||
Histogram for gray channel (intensities).
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.VerticalIntensityStatistics.IsGrayscale">
|
||
<summary>
|
||
Value wich specifies if the processed image was color or grayscale.
|
||
</summary>
|
||
|
||
<remarks><para>If the property equals to <b>true</b>, then the <see cref="P:AForge.Imaging.VerticalIntensityStatistics.Gray"/>
|
||
property should be used to retrieve histogram for the processed grayscale image.
|
||
Otherwise <see cref="P:AForge.Imaging.VerticalIntensityStatistics.Red"/>, <see cref="P:AForge.Imaging.VerticalIntensityStatistics.Green"/> and <see cref="P:AForge.Imaging.VerticalIntensityStatistics.Blue"/> property
|
||
should be used to retrieve histogram for particular RGB channel of the processed
|
||
color image.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.TexturedMerge">
|
||
<summary>
|
||
Merge two images using factors from texture.
|
||
</summary>
|
||
|
||
<remarks><para>The filter is similar to <see cref="T:AForge.Imaging.Filters.Morph"/> filter in its idea, but
|
||
instead of using single value for balancing amount of source's and overlay's image
|
||
values (see <see cref="P:AForge.Imaging.Filters.Morph.SourcePercent"/>), the filter uses texture, which determines
|
||
the amount to take from source image and overlay image.</para>
|
||
|
||
<para>The filter uses specified texture to adjust values using the next formula:<br/>
|
||
<b>dst = src * textureValue + ovr * ( 1.0 - textureValue )</b>,<br/>
|
||
where <b>src</b> is value of pixel in a source image, <b>ovr</b> is value of pixel in
|
||
overlay image, <b>dst</b> is value of pixel in a destination image and
|
||
<b>textureValue</b> is corresponding value from provided texture (see <see cref="P:AForge.Imaging.Filters.TexturedMerge.TextureGenerator"/> or
|
||
<see cref="P:AForge.Imaging.Filters.TexturedMerge.Texture"/>).</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage #1:</para>
|
||
<code>
|
||
// create filter
|
||
TexturedMerge filter = new TexturedMerge( new TextileTexture( ) );
|
||
// create an overlay image to merge with
|
||
filter.OverlayImage = new Bitmap( image.Width, image.Height,
|
||
PixelFormat.Format24bppRgb );
|
||
// fill the overlay image with solid color
|
||
PointedColorFloodFill fillFilter = new PointedColorFloodFill( Color.DarkKhaki );
|
||
fillFilter.ApplyInPlace( filter.OverlayImage );
|
||
// apply the merge filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para>Sample usage #2:</para>
|
||
<code>
|
||
// create filter
|
||
TexturedMerge filter = new TexturedMerge( new CloudsTexture( ) );
|
||
// create 2 images with modified Hue
|
||
HueModifier hm1 = new HueModifier( 50 );
|
||
HueModifier hm2 = new HueModifier( 200 );
|
||
filter.OverlayImage = hm2.Apply( image );
|
||
hm1.ApplyInPlace( image );
|
||
// apply the merge filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image #1:</b></para>
|
||
<img src="img/imaging/textured_merge1.jpg" width="480" height="361"/>
|
||
<para><b>Result image #2:</b></para>
|
||
<img src="img/imaging/textured_merge2.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TexturedMerge.#ctor(System.Single[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.TexturedMerge"/> class.
|
||
</summary>
|
||
|
||
<param name="texture">Generated texture.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TexturedMerge.#ctor(AForge.Imaging.Textures.ITextureGenerator)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.TexturedMerge"/> class.
|
||
</summary>
|
||
|
||
<param name="generator">Texture generator.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.TexturedMerge.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TexturedMerge.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TexturedMerge.Texture">
|
||
<summary>
|
||
Generated texture.
|
||
</summary>
|
||
|
||
<remarks><para>Two dimensional array of texture intensities.</para>
|
||
|
||
<para><note>In the case if image passed to the filter is smaller or
|
||
larger than the specified texture, than image's region is processed, which equals to the
|
||
minimum overlapping area.</note></para>
|
||
|
||
<para><note>The <see cref="P:AForge.Imaging.Filters.TexturedMerge.TextureGenerator"/> property has priority over this property - if
|
||
generator is specified than the static generated texture is not used.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.TexturedMerge.TextureGenerator">
|
||
<summary>
|
||
Texture generator.
|
||
</summary>
|
||
|
||
<remarks><para>Generator used to generate texture.</para>
|
||
|
||
<para><note>The property has priority over the <see cref="P:AForge.Imaging.Filters.TexturedMerge.Texture"/> property.</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.CanvasCrop">
|
||
<summary>
|
||
Fill areas outiside of specified region.
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The filter fills areas outside of specified region using the specified color.</para>
|
||
|
||
<para>The filter accepts 8bpp grayscale and 24/32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
CanvasCrop filter = new CanvasCrop( new Rectangle(
|
||
5, 5, image.Width - 10, image.Height - 10 ), Color.Red );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/canvas_crop.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.CanvasFill"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasCrop.#ctor(System.Drawing.Rectangle)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasCrop"/> class.
|
||
</summary>
|
||
|
||
<param name="region">Region to keep.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasCrop.#ctor(System.Drawing.Rectangle,System.Drawing.Color)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasCrop"/> class.
|
||
</summary>
|
||
|
||
<param name="region">Region to keep.</param>
|
||
<param name="fillColorRGB">RGB color to use for filling areas outside of specified region in color images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasCrop.#ctor(System.Drawing.Rectangle,System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasCrop"/> class.
|
||
</summary>
|
||
|
||
<param name="region">Region to keep.</param>
|
||
<param name="fillColorGray">Gray color to use for filling areas outside of specified region in grayscale images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasCrop.#ctor(System.Drawing.Rectangle,System.Drawing.Color,System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CanvasCrop"/> class.
|
||
</summary>
|
||
|
||
<param name="region">Region to keep.</param>
|
||
<param name="fillColorRGB">RGB color to use for filling areas outside of specified region in color images.</param>
|
||
<param name="fillColorGray">Gray color to use for filling areas outside of specified region in grayscale images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CanvasCrop.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasCrop.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasCrop.FillColorRGB">
|
||
<summary>
|
||
RGB fill color.
|
||
</summary>
|
||
|
||
<remarks><para>The color is used to fill areas out of specified region in color images.</para>
|
||
|
||
<para>Default value is set to white - RGB(255, 255, 255).</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasCrop.FillColorGray">
|
||
<summary>
|
||
Gray fill color.
|
||
</summary>
|
||
|
||
<remarks><para>The color is used to fill areas out of specified region in grayscale images.</para>
|
||
|
||
<para>Default value is set to white - 255.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CanvasCrop.Region">
|
||
<summary>
|
||
Region to keep.
|
||
</summary>
|
||
|
||
<remarks>Pixels inside of the specified region will keep their values, but
|
||
pixels outside of the region will be filled with specified color.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Erosion">
|
||
<summary>
|
||
Erosion operator from Mathematical Morphology.
|
||
</summary>
|
||
|
||
<remarks><para>The filter assigns minimum value of surrounding pixels to each pixel of
|
||
the result image. Surrounding pixels, which should be processed, are specified by
|
||
structuring element: 1 - to process the neighbor, -1 - to skip it.</para>
|
||
|
||
<para>The filter especially useful for binary image processing, where it removes pixels, which
|
||
are not surrounded by specified amount of neighbors. It gives ability to remove noisy pixels
|
||
(stand-alone pixels) or shrink objects.</para>
|
||
|
||
<para>For processing image with 3x3 structuring element, there are different optimizations
|
||
available, like <see cref="T:AForge.Imaging.Filters.Erosion3x3"/> and <see cref="T:AForge.Imaging.Filters.BinaryErosion3x3"/>.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24 and 48 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Erosion filter = new Erosion( );
|
||
// apply the filter
|
||
filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample12.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/erosion.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Dilatation"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Closing"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Opening"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Erosion3x3"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.BinaryErosion3x3"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Erosion.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Erosion"/> class.
|
||
</summary>
|
||
|
||
<remarks><para>Initializes new instance of the <see cref="T:AForge.Imaging.Filters.Erosion"/> class using
|
||
default structuring element - 3x3 structuring element with all elements equal to 1.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Erosion.#ctor(System.Int16[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Erosion"/> class.
|
||
</summary>
|
||
|
||
<param name="se">Structuring element.</param>
|
||
|
||
<remarks><para>Structuring elemement for the erosion morphological operator
|
||
must be square matrix with odd size in the range of [3, 99].</para></remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">Invalid size of structuring element.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Erosion.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Erosion.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BottomHat">
|
||
<summary>
|
||
Bottop-hat operator from Mathematical Morphology.
|
||
</summary>
|
||
|
||
<remarks><para>Bottom-hat morphological operator <see cref="T:AForge.Imaging.Filters.Subtract">subtracts</see>
|
||
input image from the result of <see cref="T:AForge.Imaging.Filters.Closing">morphological closing</see> on the
|
||
the input image.</para>
|
||
|
||
<para>Applied to binary image, the filter allows to get all object parts, which were
|
||
added by <see cref="T:AForge.Imaging.Filters.Closing">closing</see> filter, but were not removed after that due
|
||
to formed connections/fillings.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24 and 48 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
BottomHat filter = new BottomHat( );
|
||
// apply the filter
|
||
filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample12.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/bottomhat.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.TopHat"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BottomHat.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BottomHat"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BottomHat.#ctor(System.Int16[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BottomHat"/> class.
|
||
</summary>
|
||
|
||
<param name="se">Structuring element to pass to <see cref="T:AForge.Imaging.Filters.Closing"/> operator.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BottomHat.ProcessFilter(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BottomHat.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.GrayscaleY">
|
||
<summary>
|
||
Grayscale image using Y algorithm.
|
||
</summary>
|
||
|
||
<remarks>The class uses <b>Y</b> algorithm to convert color image
|
||
to grayscale. The conversion coefficients are:
|
||
<list type="bullet">
|
||
<item>Red: 0.299;</item>
|
||
<item>Green: 0.587;</item>
|
||
<item>Blue: 0.114.</item>
|
||
</list>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Grayscale"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.GrayscaleBT709"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.GrayscaleRMY"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.GrayscaleY.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.GrayscaleY"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ContrastStretch">
|
||
<summary>
|
||
Contrast stretching filter.
|
||
</summary>
|
||
|
||
<remarks><para>Contrast stretching (or as it is often called normalization) is a simple image enhancement
|
||
technique that attempts to improve the contrast in an image by 'stretching' the range of intensity values
|
||
it contains to span a desired range of values, e.g. the full range of pixel values that the image type
|
||
concerned allows. It differs from the more sophisticated <see cref="T:AForge.Imaging.Filters.HistogramEqualization">histogram equalization</see>
|
||
in that it can only apply a linear scaling function to the image pixel values.</para>
|
||
|
||
<para>The result of this filter may be achieved by using <see cref="T:AForge.Imaging.ImageStatistics"/> class, which allows to
|
||
get pixels' intensities histogram, and <see cref="T:AForge.Imaging.Filters.LevelsLinear"/> filter, which does linear correction
|
||
of pixel's intensities.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale and 24 bpp color images.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ContrastStretch filter = new ContrastStretch( );
|
||
// process image
|
||
filter.ApplyInPlace( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample5.jpg" width="480" height="387"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/contrast_stretch.jpg" width="480" height="387"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ContrastStretch.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ContrastStretch"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ContrastStretch.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ContrastStretch.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ChannelFiltering">
|
||
<summary>
|
||
Channels filters.
|
||
</summary>
|
||
|
||
<remarks><para>The filter does color channels' filtering by clearing (filling with
|
||
specified values) values, which are inside/outside of the specified value's
|
||
range. The filter allows to fill certain ranges of RGB color channels with specified
|
||
value.</para>
|
||
|
||
<para>The filter is similar to <see cref="T:AForge.Imaging.Filters.ColorFiltering"/>, but operates with not
|
||
entire pixels, but with their RGB values individually. This means that pixel itself may
|
||
not be filtered (will be kept), but one of its RGB values may be filtered if they are
|
||
inside/outside of specified range.</para>
|
||
|
||
<para>The filter accepts 24 and 32 bpp color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ChannelFiltering filter = new ChannelFiltering( );
|
||
// set channels' ranges to keep
|
||
filter.Red = new IntRange( 0, 255 );
|
||
filter.Green = new IntRange( 100, 255 );
|
||
filter.Blue = new IntRange( 100, 255 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/channel_filtering.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ColorFiltering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ChannelFiltering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ChannelFiltering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ChannelFiltering.#ctor(AForge.IntRange,AForge.IntRange,AForge.IntRange)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ChannelFiltering"/> class.
|
||
</summary>
|
||
|
||
<param name="red">Red channel's filtering range.</param>
|
||
<param name="green">Green channel's filtering range.</param>
|
||
<param name="blue">Blue channel's filtering range.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ChannelFiltering.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ChannelFiltering.CalculateMap(AForge.IntRange,System.Byte,System.Boolean,System.Byte[])">
|
||
<summary>
|
||
Calculate filtering map.
|
||
</summary>
|
||
|
||
<param name="range">Filtering range.</param>
|
||
<param name="fill">Fillter value.</param>
|
||
<param name="fillOutsideRange">Fill outside or inside the range.</param>
|
||
<param name="map">Filtering map.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ChannelFiltering.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ChannelFiltering.Red">
|
||
<summary>
|
||
Red channel's range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ChannelFiltering.FillRed">
|
||
<summary>
|
||
Red fill value.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ChannelFiltering.Green">
|
||
<summary>
|
||
Green channel's range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ChannelFiltering.FillGreen">
|
||
<summary>
|
||
Green fill value.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ChannelFiltering.Blue">
|
||
<summary>
|
||
Blue channel's range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ChannelFiltering.FillBlue">
|
||
<summary>
|
||
Blue fill value.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ChannelFiltering.RedFillOutsideRange">
|
||
<summary>
|
||
Determines, if red channel should be filled inside or outside filtering range.
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <see langword="true"/>.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ChannelFiltering.GreenFillOutsideRange">
|
||
<summary>
|
||
Determines, if green channel should be filled inside or outside filtering range.
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <see langword="true"/>.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ChannelFiltering.BlueFillOutsideRange">
|
||
<summary>
|
||
Determines, if blue channel should be filled inside or outside filtering range.
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <see langword="true"/>.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BayerFilter">
|
||
<summary>
|
||
Generic Bayer fileter image processing routine.
|
||
</summary>
|
||
|
||
<remarks><para>The class implements <a href="http://en.wikipedia.org/wiki/Bayer_filter">Bayer filter</a>
|
||
routine, which creates color image out of grayscale image produced by image sensor built with
|
||
Bayer color matrix.</para>
|
||
|
||
<para>This Bayer filter implementation is made generic by allowing user to specify used
|
||
<see cref="P:AForge.Imaging.Filters.BayerFilter.BayerPattern">Bayer pattern</see>. This makes it slower. For optimized version
|
||
of the Bayer filter see <see cref="T:AForge.Imaging.Filters.BayerFilterOptimized"/> class, which implements Bayer filter
|
||
specifically optimized for some well known patterns.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and produces 24 bpp RGB image.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
BayerFilter filter = new BayerFilter( );
|
||
// apply the filter
|
||
Bitmap rgbImage = filter.Apply( image );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample23.png" width="640" height="480"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/bayer_filter.jpg" width="640" height="480"/>
|
||
</remarks>
|
||
|
||
<see cref="T:AForge.Imaging.Filters.BayerFilterOptimized"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BayerFilter.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BayerFilter"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BayerFilter.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="destinationData">Destination image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BayerFilter.PerformDemosaicing">
|
||
<summary>
|
||
Specifies if demosaicing must be done or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies if color demosaicing must be done or not.
|
||
If the property is set to <see langword="false"/>, then pixels of the result color image
|
||
are colored according to the <see cref="P:AForge.Imaging.Filters.BayerFilter.BayerPattern">Bayer pattern</see> used, i.e. every pixel
|
||
of the source grayscale image is copied to corresponding color plane of the result image.
|
||
If the property is set to <see langword="true"/>, then pixels of the result image
|
||
are set to color, which is obtained by averaging color components from the 3x3 window - pixel
|
||
itself plus 8 surrounding neighbors.</para>
|
||
|
||
<para>Default value is set to <see langword="true"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BayerFilter.BayerPattern">
|
||
<summary>
|
||
Specifies Bayer pattern used for decoding color image.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies 2x2 array of RGB color indexes, which set the
|
||
Bayer patter used for decoding color image.</para>
|
||
|
||
<para>By default the property is set to:
|
||
<code>
|
||
new int[2, 2] { { RGB.G, RGB.R }, { RGB.B, RGB.G } }
|
||
</code>,
|
||
which corresponds to
|
||
<code lang="none">
|
||
G R
|
||
B G
|
||
</code>
|
||
pattern.
|
||
</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.BayerFilter.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.MoveTowards">
|
||
<summary>
|
||
Move towards filter.
|
||
</summary>
|
||
|
||
<remarks><para>The result of this filter is an image, which is based on source image,
|
||
but updated in the way to decrease diffirence with overlay image - source image is
|
||
moved towards overlay image. The update equation is defined in the next way:
|
||
<b>res = src + Min( Abs( ovr - src ), step ) * Sign( ovr - src )</b>.</para>
|
||
|
||
<para>The bigger is <see cref="P:AForge.Imaging.Filters.MoveTowards.StepSize">step size</see> value the more resulting
|
||
image will look like overlay image. For example, in the case if step size is equal
|
||
to 255 (or 65535 for images with 16 bits per channel), the resulting image will be
|
||
equal to overlay image regardless of source image's pixel values. In the case if step
|
||
size is set to 1, the resulting image will very little differ from the source image.
|
||
But, in the case if the filter is applied repeatedly to the resulting image again and
|
||
again, it will become equal to overlay image in maximum 255 (65535 for images with 16
|
||
bits per channel) iterations.</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24, 32, 48 and 64 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
MoveTowards filter = new MoveTowards( overlayImage, 20 );
|
||
// apply the filter
|
||
Bitmap resultImage = filter.Apply( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample6.png" width="320" height="240"/>
|
||
<para><b>Overlay image:</b></para>
|
||
<img src="img/imaging/sample7.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/move_towards.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.MoveTowards.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.MoveTowards"/> class
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.MoveTowards.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.MoveTowards"/> class.
|
||
</summary>
|
||
|
||
<param name="overlayImage">Overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.MoveTowards.#ctor(System.Drawing.Bitmap,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.MoveTowards"/> class.
|
||
</summary>
|
||
|
||
<param name="overlayImage">Overlay image.</param>
|
||
<param name="stepSize">Step size.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.MoveTowards.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.MoveTowards"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedOverlayImage">Unmanaged overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.MoveTowards.#ctor(AForge.Imaging.UnmanagedImage,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.MoveTowards"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedOverlayImage">Unmanaged overlay image.</param>
|
||
<param name="stepSize">Step size.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.MoveTowards.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.MoveTowards.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.MoveTowards.StepSize">
|
||
<summary>
|
||
Step size, [0, 65535].
|
||
</summary>
|
||
|
||
<remarks>
|
||
<para>The property defines the maximum amount of changes per pixel in the source image.</para>
|
||
|
||
<para>Default value is set to 1.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Drawing">
|
||
<summary>
|
||
Drawing primitives.
|
||
</summary>
|
||
|
||
<remarks><para>The class allows to do drawing of some primitives directly on
|
||
locked image data or unmanaged image.</para>
|
||
|
||
<para><note>All methods of this class support drawing only on color 24/32 bpp images and
|
||
on grayscale 8 bpp indexed images.</note></para>
|
||
|
||
<para><note>When it comes to alpha blending for 24/32 bpp images, all calculations are done
|
||
as described on <a href="http://en.wikipedia.org/wiki/Alpha_compositing#Description">Wikipeadia</a>
|
||
(see "over" operator).</note></para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Drawing.FillRectangle(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle,System.Drawing.Color)">
|
||
<summary>
|
||
Fill rectangle on the specified image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to draw on.</param>
|
||
<param name="rectangle">Rectangle's coordinates to fill.</param>
|
||
<param name="color">Rectangle's color.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Drawing.FillRectangle(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle,System.Drawing.Color)">
|
||
<summary>
|
||
Fill rectangle on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to draw on.</param>
|
||
<param name="rectangle">Rectangle's coordinates to fill.</param>
|
||
<param name="color">Rectangle's color.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Drawing.Rectangle(System.Drawing.Imaging.BitmapData,System.Drawing.Rectangle,System.Drawing.Color)">
|
||
<summary>
|
||
Draw rectangle on the specified image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to draw on.</param>
|
||
<param name="rectangle">Rectangle's coordinates to draw.</param>
|
||
<param name="color">Rectangle's color.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Drawing.Rectangle(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle,System.Drawing.Color)">
|
||
<summary>
|
||
Draw rectangle on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to draw on.</param>
|
||
<param name="rectangle">Rectangle's coordinates to draw.</param>
|
||
<param name="color">Rectangle's color.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Drawing.Line(System.Drawing.Imaging.BitmapData,AForge.IntPoint,AForge.IntPoint,System.Drawing.Color)">
|
||
<summary>
|
||
Draw a line on the specified image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to draw on.</param>
|
||
<param name="point1">The first point to connect.</param>
|
||
<param name="point2">The second point to connect.</param>
|
||
<param name="color">Line's color.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Drawing.Line(AForge.Imaging.UnmanagedImage,AForge.IntPoint,AForge.IntPoint,System.Drawing.Color)">
|
||
<summary>
|
||
Draw a line on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to draw on.</param>
|
||
<param name="point1">The first point to connect.</param>
|
||
<param name="point2">The second point to connect.</param>
|
||
<param name="color">Line's color.</param>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">The source image has incorrect pixel format.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Drawing.Polygon(System.Drawing.Imaging.BitmapData,System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Color)">
|
||
<summary>
|
||
Draw a polygon on the specified image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to draw on.</param>
|
||
<param name="points">Points of the polygon to draw.</param>
|
||
<param name="color">Polygon's color.</param>
|
||
|
||
<remarks><para>The method draws a polygon by connecting all points from the
|
||
first one to the last one and then connecting the last point with the first one.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Drawing.Polygon(AForge.Imaging.UnmanagedImage,System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Color)">
|
||
<summary>
|
||
Draw a polygon on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to draw on.</param>
|
||
<param name="points">Points of the polygon to draw.</param>
|
||
<param name="color">Polygon's color.</param>
|
||
|
||
<remarks><para>The method draws a polygon by connecting all points from the
|
||
first one to the last one and then connecting the last point with the first one.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Drawing.Polyline(System.Drawing.Imaging.BitmapData,System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Color)">
|
||
<summary>
|
||
Draw a polyline on the specified image.
|
||
</summary>
|
||
|
||
<param name="imageData">Source image data to draw on.</param>
|
||
<param name="points">Points of the polyline to draw.</param>
|
||
<param name="color">polyline's color.</param>
|
||
|
||
<remarks><para>The method draws a polyline by connecting all points from the
|
||
first one to the last one. Unlike <see cref="M:AForge.Imaging.Drawing.Polygon(System.Drawing.Imaging.BitmapData,System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Color)"/>
|
||
method, this method does not connect the last point with the first one.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Drawing.Polyline(AForge.Imaging.UnmanagedImage,System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Color)">
|
||
<summary>
|
||
Draw a polyline on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image to draw on.</param>
|
||
<param name="points">Points of the polyline to draw.</param>
|
||
<param name="color">polyline's color.</param>
|
||
|
||
<remarks><para>The method draws a polyline by connecting all points from the
|
||
first one to the last one. Unlike <see cref="M:AForge.Imaging.Drawing.Polygon(AForge.Imaging.UnmanagedImage,System.Collections.Generic.List{AForge.IntPoint},System.Drawing.Color)"/>
|
||
method, this method does not connect the last point with the first one.
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.ColorReduction.ColorImageQuantizer">
|
||
<summary>
|
||
Color quantization tools.
|
||
</summary>
|
||
|
||
<remarks><para>The class contains methods aimed to simplify work with color quantization
|
||
algorithms implementing <see cref="T:AForge.Imaging.ColorReduction.IColorQuantizer"/> interface. Using its methods it is possible
|
||
to calculate reduced color palette for the specified image or reduce colors to the specified number.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// instantiate the images' color quantization class
|
||
ColorImageQuantizer ciq = new ColorImageQuantizer( new MedianCutQuantizer( ) );
|
||
// get 16 color palette for a given image
|
||
Color[] colorTable = ciq.CalculatePalette( image, 16 );
|
||
|
||
// ... or just reduce colors in the specified image
|
||
Bitmap newImage = ciq.ReduceColors( image, 16 );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/reduced_colors.png" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.#ctor(AForge.Imaging.ColorReduction.IColorQuantizer)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.ColorReduction.ColorImageQuantizer"/> class.
|
||
</summary>
|
||
|
||
<param name="quantizer">Color quantization algorithm to use for processing images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.CalculatePalette(System.Drawing.Bitmap,System.Int32)">
|
||
<summary>
|
||
Calculate reduced color palette for the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate palette for.</param>
|
||
<param name="paletteSize">Palette size to calculate.</param>
|
||
|
||
<returns>Return reduced color palette for the specified image.</returns>
|
||
|
||
<remarks><para>See <see cref="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.CalculatePalette(AForge.Imaging.UnmanagedImage,System.Int32)"/> for details.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.CalculatePalette(AForge.Imaging.UnmanagedImage,System.Int32)">
|
||
<summary>
|
||
Calculate reduced color palette for the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Image to calculate palette for.</param>
|
||
<param name="paletteSize">Palette size to calculate.</param>
|
||
|
||
<returns>Return reduced color palette for the specified image.</returns>
|
||
|
||
<remarks><para>The method processes the specified image and feeds color value of each pixel
|
||
to the specified color quantization algorithm. Finally it returns color palette built by
|
||
that algorithm.</para></remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported format of the source image - it must 24 or 32 bpp color image.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.ReduceColors(System.Drawing.Bitmap,System.Int32)">
|
||
<summary>
|
||
Create an image with reduced number of colors.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
<param name="paletteSize">Number of colors to get in the output image, [2, 256].</param>
|
||
|
||
<returns>Returns image with reduced number of colors.</returns>
|
||
|
||
<remarks><para>See <see cref="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.ReduceColors(AForge.Imaging.UnmanagedImage,System.Int32)"/> for details.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.ReduceColors(AForge.Imaging.UnmanagedImage,System.Int32)">
|
||
<summary>
|
||
Create an image with reduced number of colors.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
<param name="paletteSize">Number of colors to get in the output image, [2, 256].</param>
|
||
|
||
<returns>Returns image with reduced number of colors.</returns>
|
||
|
||
<remarks><para>The method creates an image, which looks similar to the specified image, but contains
|
||
reduced number of colors. First, target color palette is calculated using <see cref="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.CalculatePalette(AForge.Imaging.UnmanagedImage,System.Int32)"/>
|
||
method and then a new image is created, where pixels from the given source image are substituted by
|
||
best matching colors from calculated color table.</para>
|
||
|
||
<para><note>The output image has 4 bpp or 8 bpp indexed pixel format depending on the target palette size -
|
||
4 bpp for palette size 16 or less; 8 bpp otherwise.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported format of the source image - it must 24 or 32 bpp color image.</exception>
|
||
<exception cref="T:System.ArgumentException">Invalid size of the target color palette.</exception>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.ReduceColors(System.Drawing.Bitmap,System.Drawing.Color[])">
|
||
<summary>
|
||
Create an image with reduced number of colors using the specified palette.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
<param name="palette">Target color palette. Must contatin 2-256 colors.</param>
|
||
|
||
<returns>Returns image with reduced number of colors.</returns>
|
||
|
||
<remarks><para>See <see cref="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.ReduceColors(AForge.Imaging.UnmanagedImage,System.Drawing.Color[])"/> for details.</para></remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.ReduceColors(AForge.Imaging.UnmanagedImage,System.Drawing.Color[])">
|
||
<summary>
|
||
Create an image with reduced number of colors using the specified palette.
|
||
</summary>
|
||
|
||
<param name="image">Source image to process.</param>
|
||
<param name="palette">Target color palette. Must contatin 2-256 colors.</param>
|
||
|
||
<returns>Returns image with reduced number of colors.</returns>
|
||
|
||
<remarks><para>The method creates an image, which looks similar to the specified image, but contains
|
||
reduced number of colors. Is substitutes every pixel of the source image with the closest matching color
|
||
in the specified paletter.</para>
|
||
|
||
<para><note>The output image has 4 bpp or 8 bpp indexed pixel format depending on the target palette size -
|
||
4 bpp for palette size 16 or less; 8 bpp otherwise.</note></para>
|
||
</remarks>
|
||
|
||
<exception cref="T:AForge.Imaging.UnsupportedImageFormatException">Unsupported format of the source image - it must 24 or 32 bpp color image.</exception>
|
||
<exception cref="T:System.ArgumentException">Invalid size of the target color palette.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ColorReduction.ColorImageQuantizer.Quantizer">
|
||
<summary>
|
||
Color quantization algorithm used by this class to build color palettes for the specified images.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.ColorReduction.ColorImageQuantizer.UseCaching">
|
||
<summary>
|
||
Use color caching during color reduction or not.
|
||
</summary>
|
||
|
||
<remarks><para>The property has effect only for methods like <see cref="M:AForge.Imaging.ColorReduction.ColorImageQuantizer.ReduceColors(System.Drawing.Bitmap,System.Int32)"/> and
|
||
specifies if internal cache of already processed colors should be used or not. For each pixel in the original
|
||
image the color reduction routine does search in target color palette to find the best matching color.
|
||
To avoid doing the search again and again for already processed colors, the class may use internal dictionary
|
||
which maps colors of original image to indexes in target color palette.
|
||
</para>
|
||
|
||
<para><note>The property provides a trade off. On one hand it may speedup color reduction routine, but on another
|
||
hand it increases memory usage. Also cache usage may not be efficient for very small target color tables.</note></para>
|
||
|
||
<para>Default value is set to <see langword="false"/>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Pixellate">
|
||
<summary>
|
||
Pixellate filter.
|
||
</summary>
|
||
|
||
<remarks><para>The filter processes an image creating the effect of an image with larger
|
||
pixels - pixellated image. The effect is achieved by filling image's rectangles of the
|
||
specified size by the color, which is mean color value for the corresponding rectangle.
|
||
The size of rectangles to process is set by <see cref="P:AForge.Imaging.Filters.Pixellate.PixelWidth"/> and <see cref="P:AForge.Imaging.Filters.Pixellate.PixelHeight"/>
|
||
properties.</para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images and 24 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Pixellate filter = new Pixellate( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample1.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/pixellate.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Pixellate.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Pixellate"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Pixellate.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Pixellate"/> class.
|
||
</summary>
|
||
|
||
<param name="pixelSize">Pixel size.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Pixellate.#ctor(System.Int32,System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Pixellate"/> class.
|
||
</summary>
|
||
|
||
<param name="pixelWidth">Pixel width.</param>
|
||
<param name="pixelHeight">Pixel height.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Pixellate.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Pixellate.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Pixellate.PixelWidth">
|
||
<summary>
|
||
Pixel width, [2, 32].
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <b>8</b>.</remarks>
|
||
|
||
<seealso cref="P:AForge.Imaging.Filters.Pixellate.PixelSize"/>
|
||
<seealso cref="P:AForge.Imaging.Filters.Pixellate.PixelHeight"/>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Pixellate.PixelHeight">
|
||
<summary>
|
||
Pixel height, [2, 32].
|
||
</summary>
|
||
|
||
<remarks>Default value is set to <b>8</b>.</remarks>
|
||
|
||
<seealso cref="P:AForge.Imaging.Filters.Pixellate.PixelSize"/>
|
||
<seealso cref="P:AForge.Imaging.Filters.Pixellate.PixelWidth"/>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Pixellate.PixelSize">
|
||
<summary>
|
||
Pixel size, [2, 32].
|
||
</summary>
|
||
|
||
<remarks>The property is used to set both <see cref="P:AForge.Imaging.Filters.Pixellate.PixelWidth"/> and
|
||
<see cref="P:AForge.Imaging.Filters.Pixellate.PixelHeight"/> simultaneously.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ApplyMask">
|
||
<summary>
|
||
Apply mask to the specified image.
|
||
</summary>
|
||
|
||
<remarks><para>The filter applies mask to the specified image - keeps all pixels
|
||
in the image if corresponding pixels/values of the mask are not equal to 0. For all
|
||
0 pixels/values in mask, corresponding pixels in the source image are set to 0.</para>
|
||
|
||
<para>Mask can be specified as <see cref="P:AForge.Imaging.Filters.ApplyMask.MaskImage">.NET's managed Bitmap</see>, as
|
||
<see cref="P:AForge.Imaging.Filters.ApplyMask.UnmanagedMaskImage">UnmanagedImage</see> or as <see cref="P:AForge.Imaging.Filters.ApplyMask.Mask">byte array</see>.
|
||
In the case if mask is specified as image, it must be 8 bpp grayscale image. In all case
|
||
mask size must be the same as size of the image to process.</para>
|
||
|
||
<para>The filter accepts 8/16 bpp grayscale and 24/32/48/64 bpp color images for processing.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ApplyMask.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ApplyMask"/> class.
|
||
</summary>
|
||
|
||
<param name="maskImage"><see cref="P:AForge.Imaging.Filters.ApplyMask.MaskImage">Mask image</see> to use.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ApplyMask.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ApplyMask"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedMaskImage"><see cref="P:AForge.Imaging.Filters.ApplyMask.UnmanagedMaskImage">Unmanaged mask image</see> to use.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ApplyMask.#ctor(System.Byte[0:,0:])">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ApplyMask"/> class.
|
||
</summary>
|
||
|
||
<param name="mask"><see cref="P:AForge.Imaging.Filters.ApplyMask.Mask"/> to use.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ApplyMask.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
<exception cref="T:System.NullReferenceException">None of the possible mask properties were set. Need to provide mask before applying the filter.</exception>
|
||
<exception cref="T:System.ArgumentException">Invalid size of provided mask. Its size must be the same as the size of the image to mask.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ApplyMask.MaskImage">
|
||
<summary>
|
||
Mask image to apply.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies mask image to use. The image must be grayscale
|
||
(8 bpp format) and have the same size as the source image to process.</para>
|
||
|
||
<para>When the property is set, both <see cref="P:AForge.Imaging.Filters.ApplyMask.UnmanagedMaskImage"/> and
|
||
<see cref="P:AForge.Imaging.Filters.ApplyMask.Mask"/> properties are set to <see langword="null"/>.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">The mask image must be 8 bpp grayscale image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ApplyMask.UnmanagedMaskImage">
|
||
<summary>
|
||
Unmanaged mask image to apply.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies unmanaged mask image to use. The image must be grayscale
|
||
(8 bpp format) and have the same size as the source image to process.</para>
|
||
|
||
<para>When the property is set, both <see cref="P:AForge.Imaging.Filters.ApplyMask.MaskImage"/> and
|
||
<see cref="P:AForge.Imaging.Filters.ApplyMask.Mask"/> properties are set to <see langword="null"/>.</para>
|
||
</remarks>
|
||
|
||
<exception cref="T:System.ArgumentException">The mask image must be 8 bpp grayscale image.</exception>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ApplyMask.Mask">
|
||
<summary>
|
||
Mask to apply.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies mask array to use. Size of the array must
|
||
be the same size as the size of the source image to process - its 0<sup>th</sup> dimension
|
||
must be equal to image's height and its 1<sup>st</sup> dimension must be equal to width. For
|
||
example, for 640x480 image, the mask array must be defined as:
|
||
<code>
|
||
byte[,] mask = new byte[480, 640];
|
||
</code>
|
||
</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ApplyMask.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/>
|
||
documentation for additional information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.CannyEdgeDetector">
|
||
<summary>
|
||
Canny edge detector.
|
||
</summary>
|
||
|
||
<remarks><para>The filter searches for objects' edges by applying Canny edge detector.
|
||
The implementation follows
|
||
<a href="http://www.pages.drexel.edu/~weg22/can_tut.html">Bill Green's Canny edge detection tutorial</a>.</para>
|
||
|
||
<para><note>The implemented canny edge detector has one difference with the above linked algorithm.
|
||
The difference is in hysteresis step, which is a bit simplified (getting faster as a result). On the
|
||
hysteresis step each pixel is compared with two threshold values: <see cref="P:AForge.Imaging.Filters.CannyEdgeDetector.HighThreshold"/> and
|
||
<see cref="P:AForge.Imaging.Filters.CannyEdgeDetector.LowThreshold"/>. If pixel's value is greater or equal to <see cref="P:AForge.Imaging.Filters.CannyEdgeDetector.HighThreshold"/>, then
|
||
it is kept as edge pixel. If pixel's value is greater or equal to <see cref="P:AForge.Imaging.Filters.CannyEdgeDetector.LowThreshold"/>, then
|
||
it is kept as edge pixel only if there is at least one neighbouring pixel (8 neighbours are checked) which
|
||
has value greater or equal to <see cref="P:AForge.Imaging.Filters.CannyEdgeDetector.HighThreshold"/>; otherwise it is none edge pixel. In the case
|
||
if pixel's value is less than <see cref="P:AForge.Imaging.Filters.CannyEdgeDetector.LowThreshold"/>, then it is marked as none edge immediately.
|
||
</note></para>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
CannyEdgeDetector filter = new CannyEdgeDetector( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/sample2.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/canny_edges.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CannyEdgeDetector.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CannyEdgeDetector"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CannyEdgeDetector.#ctor(System.Byte,System.Byte)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CannyEdgeDetector"/> class.
|
||
</summary>
|
||
|
||
<param name="lowThreshold">Low threshold.</param>
|
||
<param name="highThreshold">High threshold.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CannyEdgeDetector.#ctor(System.Byte,System.Byte,System.Double)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.CannyEdgeDetector"/> class.
|
||
</summary>
|
||
|
||
<param name="lowThreshold">Low threshold.</param>
|
||
<param name="highThreshold">High threshold.</param>
|
||
<param name="sigma">Gaussian sigma.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.CannyEdgeDetector.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="source">Source image data.</param>
|
||
<param name="destination">Destination image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CannyEdgeDetector.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CannyEdgeDetector.LowThreshold">
|
||
<summary>
|
||
Low threshold.
|
||
</summary>
|
||
|
||
<remarks><para>Low threshold value used for hysteresis
|
||
(see <a href="http://www.pages.drexel.edu/~weg22/can_tut.html">tutorial</a>
|
||
for more information).</para>
|
||
|
||
<para>Default value is set to <b>20</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CannyEdgeDetector.HighThreshold">
|
||
<summary>
|
||
High threshold.
|
||
</summary>
|
||
|
||
<remarks><para>High threshold value used for hysteresis
|
||
(see <a href="http://www.pages.drexel.edu/~weg22/can_tut.html">tutorial</a>
|
||
for more information).</para>
|
||
|
||
<para>Default value is set to <b>100</b>.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CannyEdgeDetector.GaussianSigma">
|
||
<summary>
|
||
Gaussian sigma.
|
||
</summary>
|
||
|
||
<remarks>Sigma value for <see cref="P:AForge.Imaging.Filters.GaussianBlur.Sigma">Gaussian bluring</see>.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.CannyEdgeDetector.GaussianSize">
|
||
<summary>
|
||
Gaussian size.
|
||
</summary>
|
||
|
||
<remarks>Size of <see cref="P:AForge.Imaging.Filters.GaussianBlur.Size">Gaussian kernel</see>.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.LevelsLinear16bpp">
|
||
<summary>
|
||
Linear correction of RGB channels for images, which have 16 bpp planes (16 bit gray images or 48/64 bit colour images).
|
||
</summary>
|
||
|
||
<remarks><para>The filter performs linear correction of RGB channels by mapping specified
|
||
channels' input ranges to output ranges. This version of the filter processes only images
|
||
with 16 bpp colour planes. See <see cref="T:AForge.Imaging.Filters.LevelsLinear"/> for 8 bpp version.</para>
|
||
|
||
<para>The filter accepts 16 bpp grayscale and 48/64 bpp colour images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
LevelsLinear16bpp filter = new LevelsLinear16bpp( );
|
||
// set ranges
|
||
filter.InRed = new IntRange( 3000, 42000 );
|
||
filter.InGreen = new IntRange( 5000, 37500 );
|
||
filter.InBlue = new IntRange( 1000, 60000 );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.LevelsLinear"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.LevelsLinear16bpp.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.LevelsLinear"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.LevelsLinear16bpp.ProcessFilter(AForge.Imaging.UnmanagedImage,System.Drawing.Rectangle)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="rect">Image rectangle for processing by the filter.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.LevelsLinear16bpp.CalculateMap(AForge.IntRange,AForge.IntRange,System.UInt16[])">
|
||
<summary>
|
||
Calculate conversion map.
|
||
</summary>
|
||
|
||
<param name="inRange">Input range.</param>
|
||
<param name="outRange">Output range.</param>
|
||
<param name="map">Conversion map.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.InRed">
|
||
<summary>
|
||
Red component's input range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.InGreen">
|
||
<summary>
|
||
Green component's input range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.InBlue">
|
||
<summary>
|
||
Blue component's input range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.InGray">
|
||
<summary>
|
||
Gray component's input range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.Input">
|
||
<summary>
|
||
Input range for RGB components.
|
||
</summary>
|
||
|
||
<remarks>The property allows to set red, green and blue input ranges to the same value.</remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.OutRed">
|
||
<summary>
|
||
Red component's output range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.OutGreen">
|
||
<summary>
|
||
Green component's output range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.OutBlue">
|
||
<summary>
|
||
Blue component's output range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.OutGray">
|
||
<summary>
|
||
Gray component's output range.
|
||
</summary>
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.LevelsLinear16bpp.Output">
|
||
<summary>
|
||
Output range for RGB components.
|
||
</summary>
|
||
|
||
<remarks>The property allows to set red, green and blue output ranges to the same value.</remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.SierraDithering">
|
||
<summary>
|
||
Dithering using Sierra error diffusion.
|
||
</summary>
|
||
|
||
<remarks><para>The filter represents binarization filter, which is based on
|
||
error diffusion dithering with Sierra coefficients. Error is diffused
|
||
on 10 neighbor pixels with next coefficients:</para>
|
||
<code lang="none">
|
||
| * | 5 | 3 |
|
||
| 2 | 4 | 5 | 4 | 2 |
|
||
| 2 | 3 | 2 |
|
||
|
||
/ 32
|
||
</code>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
SierraDithering filter = new SierraDithering( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/grayscale.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/sierra.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.BurkesDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.FloydSteinbergDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.JarvisJudiceNinkeDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.StuckiDithering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.SierraDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.SierraDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.BurkesDithering">
|
||
<summary>
|
||
Dithering using Burkes error diffusion.
|
||
</summary>
|
||
|
||
<remarks><para>The filter represents binarization filter, which is based on
|
||
error diffusion dithering with Burkes coefficients. Error is diffused
|
||
on 7 neighbor pixels with next coefficients:</para>
|
||
<code lang="none">
|
||
| * | 8 | 4 |
|
||
| 2 | 4 | 8 | 4 | 2 |
|
||
|
||
/ 32
|
||
</code>
|
||
|
||
<para>The filter accepts 8 bpp grayscale images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
BurkesDithering filter = new BurkesDithering( );
|
||
// apply the filter
|
||
filter.ApplyInPlace( image );
|
||
</code>
|
||
|
||
<para><b>Initial image:</b></para>
|
||
<img src="img/imaging/grayscale.jpg" width="480" height="361"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/burkes.jpg" width="480" height="361"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.FloydSteinbergDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.JarvisJudiceNinkeDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.SierraDithering"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.StuckiDithering"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.BurkesDithering.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.BurkesDithering"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.ThresholdedDifference">
|
||
<summary>
|
||
Calculate difference between two images and threshold it.
|
||
</summary>
|
||
|
||
<remarks><para>The filter produces similar result as applying <see cref="T:AForge.Imaging.Filters.Difference"/> filter and
|
||
then <see cref="P:AForge.Imaging.Filters.ThresholdedDifference.Threshold"/> filter - thresholded difference between two images. Result of this
|
||
image processing routine may be useful in motion detection applications or finding areas of significant
|
||
difference.</para>
|
||
|
||
<para>The filter accepts 8 and 24/32color images for processing.
|
||
In the case of color images, the image processing routine differences sum over 3 RGB channels (Manhattan distance), i.e.
|
||
|diffR| + |diffG| + |diffB|.
|
||
</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
ThresholdedDifference filter = new ThresholdedDifference( 60 );
|
||
// apply the filter
|
||
filter.OverlayImage = backgroundImage;
|
||
Bitmap resultImage = filter.Apply( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/object.jpg" width="320" height="240"/>
|
||
<para><b>Background image:</b></para>
|
||
<img src="img/imaging/background.jpg" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/thresholded_difference.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.ThresholdedEuclideanDifference"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ThresholdedDifference.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ThresholdedDifference"/> class.
|
||
</summary>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ThresholdedDifference.#ctor(System.Int32)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.ThresholdedDifference"/> class.
|
||
</summary>
|
||
|
||
<param name="threshold">Difference threshold (see <see cref="P:AForge.Imaging.Filters.ThresholdedDifference.Threshold"/>).</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.ThresholdedDifference.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="sourceData">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
<param name="destinationData">Destination image data</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ThresholdedDifference.Threshold">
|
||
<summary>
|
||
Difference threshold.
|
||
</summary>
|
||
|
||
<remarks><para>The property specifies difference threshold. If difference between pixels of processing image
|
||
and overlay image is greater than this value, then corresponding pixel of result image is set to white; otherwise
|
||
black.
|
||
</para>
|
||
|
||
<para>Default value is set to <b>15</b>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ThresholdedDifference.WhitePixelsCount">
|
||
<summary>
|
||
Number of pixels which were set to white in destination image during last image processing call.
|
||
</summary>
|
||
|
||
<remarks><para>The property may be useful to determine amount of difference between two images which,
|
||
for example, may be treated as amount of motion in motion detection applications, etc.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.ThresholdedDifference.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
|
||
<remarks><para>See <see cref="P:AForge.Imaging.Filters.IFilterInformation.FormatTranslations"/> for more information.</para></remarks>
|
||
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.Subtract">
|
||
<summary>
|
||
Subtract filter - subtract pixel values of two images.
|
||
</summary>
|
||
|
||
<remarks><para>The subtract filter takes two images (source and overlay images)
|
||
of the same size and pixel format and produces an image, where each pixel equals
|
||
to the difference value of corresponding pixels from provided images (if difference is less
|
||
than minimum allowed value, 0, then it is truncated to that minimum value).</para>
|
||
|
||
<para>The filter accepts 8 and 16 bpp grayscale images and 24, 32, 48 and 64 bpp
|
||
color images for processing.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
Subtract filter = new Subtract( overlayImage );
|
||
// apply the filter
|
||
Bitmap resultImage = filter.Apply( sourceImage );
|
||
</code>
|
||
|
||
<para><b>Source image:</b></para>
|
||
<img src="img/imaging/sample6.png" width="320" height="240"/>
|
||
<para><b>Overlay image:</b></para>
|
||
<img src="img/imaging/sample7.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/subtract.png" width="320" height="240"/>
|
||
</remarks>
|
||
|
||
<seealso cref="T:AForge.Imaging.Filters.Merge"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Intersect"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Add"/>
|
||
<seealso cref="T:AForge.Imaging.Filters.Difference"/>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Subtract.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Subtract"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Subtract.#ctor(System.Drawing.Bitmap)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Subtract"/> class.
|
||
</summary>
|
||
|
||
<param name="overlayImage">Overlay image</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Subtract.#ctor(AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.Subtract"/> class.
|
||
</summary>
|
||
|
||
<param name="unmanagedOverlayImage">Unmanaged overlay image.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.Subtract.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data.</param>
|
||
<param name="overlay">Overlay image data.</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.Subtract.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.StereoAnaglyph">
|
||
<summary>
|
||
Stereo anaglyph filter.
|
||
</summary>
|
||
|
||
<remarks><para>The image processing filter produces stereo anaglyph images which are
|
||
aimed to be viewed through anaglyph glasses with red filter over the left eye and
|
||
cyan over the right.</para>
|
||
|
||
<img src="img/imaging/anaglyph_glasses.png" width="125" height="97"/>
|
||
|
||
<para>The stereo image is produced by combining two images of the same scene taken
|
||
from a bit different points. The right image must be provided to the filter using
|
||
<see cref="P:AForge.Imaging.Filters.BaseInPlaceFilter2.OverlayImage"/> property, but the left image must be provided to
|
||
<see cref="M:AForge.Imaging.Filters.IFilter.Apply(System.Drawing.Bitmap)"/> method, which creates the anaglyph image.</para>
|
||
|
||
<para>The filter accepts 24 bpp color images for processing.</para>
|
||
|
||
<para>See <see cref="T:AForge.Imaging.Filters.StereoAnaglyph.Algorithm"/> enumeration for the list of supported anaglyph algorithms.</para>
|
||
|
||
<para>Sample usage:</para>
|
||
<code>
|
||
// create filter
|
||
StereoAnaglyph filter = new StereoAnaglyph( );
|
||
// set right image as overlay
|
||
filter.Overlay = rightImage
|
||
// apply the filter (providing left image)
|
||
Bitmap resultImage = filter.Apply( leftImage );
|
||
</code>
|
||
|
||
<para><b>Source image (left):</b></para>
|
||
<img src="img/imaging/sample16_left.png" width="320" height="240"/>
|
||
<para><b>Overlay image (right):</b></para>
|
||
<img src="img/imaging/sample16_right.png" width="320" height="240"/>
|
||
<para><b>Result image:</b></para>
|
||
<img src="img/imaging/anaglyph.png" width="320" height="240"/>
|
||
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.StereoAnaglyph.#ctor">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.StereoAnaglyph"/> class.
|
||
</summary>
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.StereoAnaglyph.#ctor(AForge.Imaging.Filters.StereoAnaglyph.Algorithm)">
|
||
<summary>
|
||
Initializes a new instance of the <see cref="T:AForge.Imaging.Filters.StereoAnaglyph"/> class.
|
||
</summary>
|
||
|
||
<param name="anaglyphAlgorithm">Algorithm to use for creating anaglyph images.</param>
|
||
|
||
</member>
|
||
<member name="M:AForge.Imaging.Filters.StereoAnaglyph.ProcessFilter(AForge.Imaging.UnmanagedImage,AForge.Imaging.UnmanagedImage)">
|
||
<summary>
|
||
Process the filter on the specified image.
|
||
</summary>
|
||
|
||
<param name="image">Source image data (left image).</param>
|
||
<param name="overlay">Overlay image data (right image).</param>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.StereoAnaglyph.AnaglyphAlgorithm">
|
||
<summary>
|
||
Algorithm to use for creating anaglyph images.
|
||
</summary>
|
||
|
||
<remarks><para>Default value is set to <see cref="F:AForge.Imaging.Filters.StereoAnaglyph.Algorithm.GrayAnaglyph"/>.</para></remarks>
|
||
|
||
</member>
|
||
<member name="P:AForge.Imaging.Filters.StereoAnaglyph.FormatTranslations">
|
||
<summary>
|
||
Format translations dictionary.
|
||
</summary>
|
||
</member>
|
||
<member name="T:AForge.Imaging.Filters.StereoAnaglyph.Algorithm">
|
||
<summary>
|
||
Enumeration of algorithms for creating anaglyph images.
|
||
</summary>
|
||
|
||
<remarks><para>See <a href="http://www.3dtv.at/Knowhow/AnaglyphComparison_en.aspx">anaglyph methods comparison</a> for
|
||
descipton of different algorithms.</para>
|
||
</remarks>
|
||
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.StereoAnaglyph.Algorithm.TrueAnaglyph">
|
||
<summary>
|
||
Creates anaglyph image using the below calculations:
|
||
<list type="bullet">
|
||
<item>R<sub>a</sub>=0.299*R<sub>l</sub>+0.587*G<sub>l</sub>+0.114*B<sub>l</sub>;</item>
|
||
<item>G<sub>a</sub>=0;</item>
|
||
<item>B<sub>a</sub>=0.299*R<sub>r</sub>+0.587*G<sub>r</sub>+0.114*B<sub>r</sub>.</item>
|
||
</list>
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.StereoAnaglyph.Algorithm.GrayAnaglyph">
|
||
<summary>
|
||
Creates anaglyph image using the below calculations:
|
||
<list type="bullet">
|
||
<item>R<sub>a</sub>=0.299*R<sub>l</sub>+0.587*G<sub>l</sub>+0.114*B<sub>l</sub>;</item>
|
||
<item>G<sub>a</sub>=0.299*R<sub>r</sub>+0.587*G<sub>r</sub>+0.114*B<sub>r</sub>;</item>
|
||
<item>B<sub>a</sub>=0.299*R<sub>r</sub>+0.587*G<sub>r</sub>+0.114*B<sub>r</sub>.</item>
|
||
</list>
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.StereoAnaglyph.Algorithm.ColorAnaglyph">
|
||
<summary>
|
||
Creates anaglyph image using the below calculations:
|
||
<list type="bullet">
|
||
<item>R<sub>a</sub>=R<sub>l</sub>;</item>
|
||
<item>G<sub>a</sub>=G<sub>r</sub>;</item>
|
||
<item>B<sub>a</sub>=B<sub>r</sub>.</item>
|
||
</list>
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.StereoAnaglyph.Algorithm.HalfColorAnaglyph">
|
||
<summary>
|
||
Creates anaglyph image using the below calculations:
|
||
<list type="bullet">
|
||
<item>R<sub>a</sub>=0.299*R<sub>l</sub>+0.587*G<sub>l</sub>+0.114*B<sub>l</sub>;</item>
|
||
<item>G<sub>a</sub>=G<sub>r</sub>;</item>
|
||
<item>B<sub>a</sub>=B<sub>r</sub>.</item>
|
||
</list>
|
||
</summary>
|
||
</member>
|
||
<member name="F:AForge.Imaging.Filters.StereoAnaglyph.Algorithm.OptimizedAnaglyph">
|
||
<summary>
|
||
Creates anaglyph image using the below calculations:
|
||
<list type="bullet">
|
||
<item>R<sub>a</sub>=0.7*G<sub>l</sub>+0.3*B<sub>l</sub>;</item>
|
||
<item>G<sub>a</sub>=G<sub>r</sub>;</item>
|
||
<item>B<sub>a</sub>=B<sub>r</sub>.</item>
|
||
</list>
|
||
</summary>
|
||
</member>
|
||
</members>
|
||
</doc>
|