MagickCore  6.9.11-59
Convert, Edit, Or Compose Bitmap Images
feature.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4 
5  You may not use this file except in compliance with the License. You may
6  obtain a copy of the License at
7 
8  https://imagemagick.org/script/license.php
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  MagickCore feature methods.
17 */
18 #ifndef MAGICKCORE_FEATURE_H
19 #define MAGICKCORE_FEATURE_H
20 
21 #if defined(__cplusplus) || defined(c_plusplus)
22 extern "C" {
23 #endif
24 
25 /*
26  Haralick texture features.
27 */
28 typedef struct _ChannelFeatures
29 {
30  double
39  entropy[4],
46 
48  *GetImageChannelFeatures(const Image *,const size_t,ExceptionInfo *);
49 
50 extern MagickExport Image
51  *CannyEdgeImage(const Image *,const double,const double,const double,
52  const double,ExceptionInfo *),
53  *HoughLineImage(const Image *,const size_t,const size_t,const size_t,
54  ExceptionInfo *),
55  *MeanShiftImage(const Image *,const size_t,const size_t,const double,
56  ExceptionInfo *);
57 
58 #if defined(__cplusplus) || defined(c_plusplus)
59 }
60 #endif
61 
62 #endif
_Image::colorspace
ColorspaceType colorspace
Definition: image.h:158
QuantumScale
#define QuantumScale
Definition: magick-type.h:124
_ChannelFeatures
Definition: feature.h:29
MagickExport
#define MagickExport
Definition: method-attribute.h:80
_Image::debug
MagickBooleanType debug
Definition: image.h:290
_Image::filename
char filename[MaxTextExtent]
Definition: image.h:278
profile.h
_Image::background_color
PixelPacket background_color
Definition: image.h:181
_Image::progress_monitor
MagickProgressMonitor progress_monitor
Definition: image.h:264
CloneImage
MagickExport Image * CloneImage(const Image *image, const size_t columns, const size_t rows, const MagickBooleanType detach, ExceptionInfo *exception)
Definition: image.c:771
DrawImage
MagickExport MagickBooleanType DrawImage(Image *image, const DrawInfo *draw_info)
Definition: draw.c:4409
_Image::matte
MagickBooleanType matte
Definition: image.h:171
SetImageProgress
MagickExport MagickBooleanType SetImageProgress(const Image *image, const char *tag, const MagickOffsetType offset, const MagickSizeType extent)
Definition: monitor.c:136
_MatrixInfo
Definition: matrix.c:60
TraceEdges
static MagickBooleanType TraceEdges(Image *edge_image, CacheView *edge_view, MatrixInfo *canny_cache, const ssize_t x, const ssize_t y, const double lower_threshold, ExceptionInfo *exception)
Definition: feature.c:158
compress.h
_MagickPixelPacket::red
MagickRealType red
Definition: pixel.h:122
magick.h
CannyEdgeImageTag
#define CannyEdgeImageTag
DirectClass
@ DirectClass
Definition: magick-type.h:198
BlueChannel
@ BlueChannel
Definition: magick-type.h:176
GetMagickModule
#define GetMagickModule()
Definition: log.h:29
DestroyCacheView
MagickExport CacheView * DestroyCacheView(CacheView *cache_view)
Definition: cache-view.c:256
GetMagickPixelPacket
MagickExport void GetMagickPixelPacket(const Image *image, MagickPixelPacket *pixel)
Definition: pixel.c:2233
RedChannel
@ RedChannel
Definition: magick-type.h:171
AcquireImageInfo
MagickExport ImageInfo * AcquireImageInfo(void)
Definition: image.c:315
geometry.h
IsMagickTrue
MagickExport MagickBooleanType IsMagickTrue(const char *value)
Definition: token.c:657
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
FormatLocaleString
MagickExport ssize_t FormatLocaleString(char *magick_restrict string, const size_t length, const char *magick_restrict format,...)
Definition: locale.c:497
GetCacheViewVirtualIndexQueue
MagickExport const IndexPacket * GetCacheViewVirtualIndexQueue(const CacheView *cache_view)
Definition: cache-view.c:638
DefaultResolution
#define DefaultResolution
Definition: image-private.h:27
CloseBlob
MagickExport MagickBooleanType CloseBlob(Image *)
channel.h
DestroyDrawInfo
MagickExport DrawInfo * DestroyDrawInfo(DrawInfo *draw_info)
Definition: draw.c:974
IndexChannel
@ IndexChannel
Definition: magick-type.h:182
GetCacheViewAuthenticPixels
MagickExport PixelPacket * GetCacheViewAuthenticPixels(CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:473
_SegmentInfo::x2
double x2
Definition: image.h:110
_DrawInfo::affine
AffineMatrix affine
Definition: draw.h:220
magick_restrict
#define magick_restrict
Definition: MagickCore.h:41
property.h
ReadBinaryBlobMode
@ ReadBinaryBlobMode
Definition: blob-private.h:39
_SegmentInfo::y1
double y1
Definition: image.h:109
image-private.h
monitor.h
GetFirstImageInList
MagickExport Image * GetFirstImageInList(const Image *images)
Definition: list.c:574
_Image::columns
size_t columns
Definition: image.h:174
artifact.h
_CannyInfo::orientation
int orientation
Definition: feature.c:141
OpenBlob
MagickExport MagickBooleanType OpenBlob(const ImageInfo *, Image *, const BlobMode, ExceptionInfo *)
_SegmentInfo
Definition: image.h:106
CannyEdgeImage
MagickExport Image * CannyEdgeImage(const Image *, const double, const double, const double, const double, ExceptionInfo *)
module.h
CloneDrawInfo
MagickExport DrawInfo * CloneDrawInfo(const ImageInfo *image_info, const DrawInfo *draw_info)
Definition: draw.c:270
IndexPacket
Quantum IndexPacket
Definition: pixel.h:129
resource_.h
GetPixelRed
#define GetPixelRed(pixel)
Definition: pixel-accessor.h:50
_ImageInfo::background_color
PixelPacket background_color
Definition: image.h:410
DestroyMatrixInfo
MagickExport MatrixInfo * DestroyMatrixInfo(MatrixInfo *matrix_info)
Definition: matrix.c:366
ResourceLimitError
@ ResourceLimitError
Definition: exception.h:55
_PixelPacket::blue
Quantum blue
Definition: pixel.h:143
MorphologyImageChannel
MagickExport Image * MorphologyImageChannel(const Image *image, const ChannelType channel, const MorphologyMethod method, const ssize_t iterations, const KernelInfo *kernel, ExceptionInfo *exception)
Definition: morphology.c:4368
utility.h
SetImageExtent
MagickExport MagickBooleanType SetImageExtent(Image *image, const size_t columns, const size_t rows)
Definition: image.c:2684
_CacheView
Definition: cache-view.c:66
SetImageBackgroundColor
MagickExport MagickBooleanType SetImageBackgroundColor(Image *image)
Definition: image.c:2366
version.h
random_.h
_ChannelFeatures::sum_average
double sum_average[4]
Definition: feature.h:36
string_.h
_DoublePixelPacket
Definition: pixel.h:85
magic.h
MatrixToImage
MagickExport Image * MatrixToImage(const MatrixInfo *matrix_info, ExceptionInfo *exception)
Definition: matrix.c:869
enhance.h
MagickTrue
@ MagickTrue
Definition: magick-type.h:205
blob.h
semaphore.h
GetBlobSize
MagickExport MagickSizeType GetBlobSize(const Image *image)
Definition: blob.c:1546
GetPixelIndex
#define GetPixelIndex(indexes)
Definition: pixel-accessor.h:44
SyncCacheViewAuthenticPixels
MagickExport MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *magick_restrict cache_view, ExceptionInfo *exception)
Definition: cache-view.c:1000
_MagickPixelPacket::blue
MagickRealType blue
Definition: pixel.h:124
blob-private.h
_ChannelFeatures::difference_variance
double difference_variance[4]
Definition: feature.h:40
ClampToQuantum
static Quantum ClampToQuantum(const MagickRealType quantum)
Definition: quantum.h:88
thread-private.h
AcquireImage
MagickExport Image * AcquireImage(const ImageInfo *image_info)
Definition: image.c:131
matrix.h
feature.h
TraceEvent
@ TraceEvent
Definition: log.h:38
_CannyInfo::x
ssize_t x
Definition: feature.c:144
AppendImageToList
MagickExport void AppendImageToList(Image **images, const Image *append)
Definition: list.c:80
ThrowImageException
#define ThrowImageException(severity, tag)
Definition: exception-private.h:70
MagickLog10
static double MagickLog10(const double x)
Definition: feature.c:621
ChannelStatistics
struct _ChannelStatistics ChannelStatistics
cache-private.h
SetImageAlphaChannel
MagickExport MagickBooleanType SetImageAlphaChannel(Image *image, const AlphaChannelType alpha_type)
Definition: channel.c:652
_Image
Definition: image.h:153
GetImageChannelFeatures
MagickExport ChannelFeatures * GetImageChannelFeatures(const Image *image, const size_t distance, ExceptionInfo *exception)
Definition: feature.c:630
_LongPixelPacket::blue
unsigned int blue
Definition: pixel.h:99
deprecate.h
AcquireAuthenticCacheView
MagickExport CacheView * AcquireAuthenticCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:111
_MagickPixelPacket
Definition: pixel.h:105
MagickAbsoluteValue
#define MagickAbsoluteValue(x)
Definition: image-private.h:35
FileToString
MagickExport char * FileToString(const char *filename, const size_t extent, ExceptionInfo *exception)
Definition: string.c:983
MeanShiftImage
MagickExport Image * MeanShiftImage(const Image *image, const size_t width, const size_t height, const double color_distance, ExceptionInfo *exception)
Definition: feature.c:2184
timer.h
_LongPixelPacket::index
unsigned int index
Definition: pixel.h:101
OpacityChannel
@ OpacityChannel
Definition: magick-type.h:179
_Image::y_resolution
double y_resolution
Definition: image.h:210
quantize.h
_Image::exception
ExceptionInfo exception
Definition: image.h:287
_Image::x_resolution
double x_resolution
Definition: image.h:209
AcquireMatrixInfo
MagickExport MatrixInfo * AcquireMatrixInfo(const size_t columns, const size_t rows, const size_t stride, ExceptionInfo *exception)
Definition: matrix.c:197
HoughLineImage
MagickExport Image * HoughLineImage(const Image *, const size_t, const size_t, const size_t, ExceptionInfo *)
_ChannelFeatures::variance_sum_of_squares
double variance_sum_of_squares[4]
Definition: feature.h:34
_ImageInfo
Definition: image.h:362
MagickFalse
@ MagickFalse
Definition: magick-type.h:204
ChannelFeatures
struct _ChannelFeatures ChannelFeatures
MagickProgressMonitor
MagickBooleanType(* MagickProgressMonitor)(const char *, const MagickOffsetType, const MagickSizeType, void *)
Definition: monitor.h:26
animate.h
GetPixelBlue
#define GetPixelBlue(pixel)
Definition: pixel-accessor.h:38
_ChannelFeatures::inverse_difference_moment
double inverse_difference_moment[4]
Definition: feature.h:35
_ChannelFeatures::sum_variance
double sum_variance[4]
Definition: feature.h:37
_CannyInfo::intensity
double intensity
Definition: feature.c:138
pixel-private.h
_ChannelFeatures::entropy
double entropy[4]
Definition: feature.h:39
HoughLineImage
MagickExport Image * HoughLineImage(const Image *image, const size_t width, const size_t height, const size_t threshold, ExceptionInfo *exception)
Definition: feature.c:1857
_ImageInfo::filename
char filename[MaxTextExtent]
Definition: image.h:473
GetPixelOpacity
#define GetPixelOpacity(pixel)
Definition: pixel-accessor.h:49
_CannyInfo
Definition: feature.c:135
MaxMeanShiftIterations
#define MaxMeanShiftIterations
_SegmentInfo::x1
double x1
Definition: image.h:108
HoughLineImageTag
#define HoughLineImageTag
DefaultChannels
@ DefaultChannels
Definition: magick-type.h:192
_AffineMatrix::sy
double sy
Definition: geometry.h:101
_PixelPacket::opacity
Quantum opacity
Definition: pixel.h:146
_AffineMatrix::sx
double sx
Definition: geometry.h:98
color-private.h
draw.h
DestroyImageInfo
MagickExport ImageInfo * DestroyImageInfo(ImageInfo *image_info)
Definition: image.c:1247
MeanShiftImageTag
#define MeanShiftImageTag
_PixelPacket::red
Quantum red
Definition: pixel.h:145
composite.h
PerceptibleReciprocal
static double PerceptibleReciprocal(const double x)
Definition: pixel-accessor.h:124
QuantumRange
#define QuantumRange
Definition: magick-type.h:90
CMYKColorspace
@ CMYKColorspace
Definition: colorspace.h:39
SetMatrixElement
MagickExport MagickBooleanType SetMatrixElement(const MatrixInfo *matrix_info, const ssize_t x, const ssize_t y, const void *value)
Definition: matrix.c:1108
_Image::rows
size_t rows
Definition: image.h:175
_PixelPacket::green
Quantum green
Definition: pixel.h:144
cache-view.h
cache.h
SetMagickPixelPacket
static void SetMagickPixelPacket(const Image *image, const PixelPacket *color, const IndexPacket *index, MagickPixelPacket *pixel)
Definition: pixel-private.h:78
_ExceptionInfo::signature
size_t signature
Definition: exception.h:124
colorspace.h
CannyEdgeImage
MagickExport Image * CannyEdgeImage(const Image *image, const double radius, const double sigma, const double lower_percent, const double upper_percent, ExceptionInfo *exception)
Definition: feature.c:242
BlackChannel
@ BlackChannel
Definition: magick-type.h:181
constitute.h
_Image::signature
size_t signature
Definition: image.h:307
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:203
display.h
composite-private.h
GetImageChannelFeatures
MagickExport ChannelFeatures * GetImageChannelFeatures(const Image *, const size_t, ExceptionInfo *)
Definition: feature.c:630
AcquireKernelInfo
MagickExport KernelInfo * AcquireKernelInfo(const char *kernel_string)
Definition: morphology.c:484
_ChannelFeatures::difference_entropy
double difference_entropy[4]
Definition: feature.h:41
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1162
IsAuthenticPixel
static MagickBooleanType IsAuthenticPixel(const Image *image, const ssize_t x, const ssize_t y)
Definition: feature.c:148
_LongPixelPacket::red
unsigned int red
Definition: pixel.h:97
_ExceptionInfo
Definition: exception.h:103
_CannyInfo::y
ssize_t y
Definition: feature.c:145
DegreesToRadians
static double DegreesToRadians(const double degrees)
Definition: image-private.h:64
studio.h
DestroyKernelInfo
MagickExport KernelInfo * DestroyKernelInfo(KernelInfo *kernel)
Definition: morphology.c:2252
RelinquishUniqueFileResource
MagickExport MagickBooleanType RelinquishUniqueFileResource(const char *path)
Definition: resource.c:1287
GetMatrixElement
MagickExport MagickBooleanType GetMatrixElement(const MatrixInfo *matrix_info, const ssize_t x, const ssize_t y, void *value)
Definition: matrix.c:702
_PointInfo::y
double y
Definition: draw.h:142
monitor-private.h
GetImageArtifact
MagickExport const char * GetImageArtifact(const Image *image, const char *artifact)
Definition: artifact.c:266
GRAYColorspace
@ GRAYColorspace
Definition: colorspace.h:29
CompositeChannels
@ CompositeChannels
Definition: magick-type.h:183
NullMatrix
MagickExport MagickBooleanType NullMatrix(MatrixInfo *matrix_info)
Definition: matrix.c:1001
AcquireVirtualCacheView
MagickExport CacheView * AcquireVirtualCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:153
_ChannelFeatures::measure_of_correlation_2
double measure_of_correlation_2[4]
Definition: feature.h:43
DestroyImage
MagickExport Image * DestroyImage(Image *image)
Definition: image.c:1174
TransformImageColorspace
MagickExport MagickBooleanType TransformImageColorspace(Image *image, const ColorspaceType colorspace)
Definition: colorspace.c:1509
_SegmentInfo::y2
double y2
Definition: image.h:111
DeactivateAlphaChannel
@ DeactivateAlphaChannel
Definition: image.h:36
CannyInfo
struct _CannyInfo CannyInfo
memory_.h
_ChannelFeatures::measure_of_correlation_1
double measure_of_correlation_1[4]
Definition: feature.h:42
signature-private.h
AcquireUniqueFileResource
MagickExport int AcquireUniqueFileResource(char *path)
Definition: resource.c:600
paint.h
color.h
_PointInfo
Definition: draw.h:139
_DrawInfo
Definition: draw.h:211
MagickEpsilon
#define MagickEpsilon
Definition: magick-type.h:119
GetOneCacheViewVirtualPixel
MagickExport MagickBooleanType GetOneCacheViewVirtualPixel(const CacheView *magick_restrict cache_view, const ssize_t x, const ssize_t y, PixelPacket *magick_restrict pixel, ExceptionInfo *exception)
Definition: cache-view.c:770
exception-private.h
ConvolveMorphology
@ ConvolveMorphology
Definition: morphology.h:73
morphology-private.h
ThrowMagickException
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
Definition: exception.c:1149
ThrowFatalException
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
exception.h
GetPixelIntensity
MagickExport MagickRealType GetPixelIntensity(const Image *image, const PixelPacket *magick_restrict pixel)
Definition: pixel.c:2292
MeanShiftImage
MagickExport Image * MeanShiftImage(const Image *, const size_t, const size_t, const double, ExceptionInfo *)
Definition: feature.c:2184
RenderHoughLines
static Image * RenderHoughLines(const ImageInfo *image_info, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: feature.c:1794
option.h
SetImageStorageClass
MagickExport MagickBooleanType SetImageStorageClass(Image *image, const ClassType storage_class)
Definition: image.c:2595
GetPixelGreen
#define GetPixelGreen(pixel)
Definition: pixel-accessor.h:43
MaxMap
#define MaxMap
Definition: magick-type.h:82
list.h
_ChannelFeatures::contrast
double contrast[4]
Definition: feature.h:32
_CannyInfo::magnitude
double magnitude
Definition: feature.c:137
gem.h
LogMagickEvent
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1420
MaxTextExtent
#define MaxTextExtent
Definition: method-attribute.h:89
_ChannelFeatures::angular_second_moment
double angular_second_moment[4]
Definition: feature.h:31
_LongPixelPacket::green
unsigned int green
Definition: pixel.h:98
GetCacheViewVirtualPixels
MagickExport const PixelPacket * GetCacheViewVirtualPixels(const CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:723
KernelInfo
Definition: morphology.h:103
DestroyImageList
MagickExport Image * DestroyImageList(Image *images)
Definition: list.c:475
colorspace-private.h
_LongPixelPacket::opacity
unsigned int opacity
Definition: pixel.h:100
_ChannelFeatures::maximum_correlation_coefficient
double maximum_correlation_coefficient[4]
Definition: feature.h:44
token.h
InheritException
MagickExport void InheritException(ExceptionInfo *exception, const ExceptionInfo *relative)
Definition: exception.c:692
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
segment.h
_MagickPixelPacket::opacity
MagickRealType opacity
Definition: pixel.h:125
client.h
SetImageOption
MagickExport MagickBooleanType SetImageOption(ImageInfo *image_info, const char *option, const char *value)
Definition: option.c:2808
_PointInfo::x
double x
Definition: draw.h:141
_MagickPixelPacket::green
MagickRealType green
Definition: pixel.h:123
GreenChannel
@ GreenChannel
Definition: magick-type.h:174
_ChannelFeatures::sum_entropy
double sum_entropy[4]
Definition: feature.h:38
Log10Epsilon
#define Log10Epsilon
_DrawInfo::primitive
char * primitive
Definition: draw.h:213
_PixelPacket
Definition: pixel.h:132
GetBlobStreamData
MagickExport unsigned char * GetBlobStreamData(const Image *image)
Definition: blob.c:1633
_ChannelStatistics
Definition: statistic.h:31
_LongPixelPacket
Definition: pixel.h:95
AcquireQuantumMemory
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:665
_ChannelFeatures::correlation
double correlation[4]
Definition: feature.h:33
MagickRound
static double MagickRound(double x)
Definition: feature.c:1784
MagickOffsetType
ssize_t MagickOffsetType
Definition: magick-type.h:139