MagickCore  6.9.10
Convert, Edit, Or Compose Bitmap Images
feature.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2019 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.
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:120
_ChannelFeatures
Definition: feature.h:28
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:788
DrawImage
MagickExport MagickBooleanType DrawImage(Image *image, const DrawInfo *draw_info)
Definition: draw.c:4306
_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:59
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:187
BlueChannel
@ BlueChannel
Definition: magick-type.h:165
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:2242
RedChannel
@ RedChannel
Definition: magick-type.h:160
AcquireImageInfo
MagickExport ImageInfo * AcquireImageInfo(void)
Definition: image.c:332
geometry.h
IsMagickTrue
MagickExport MagickBooleanType IsMagickTrue(const char *value)
Definition: token.c:649
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:502
CloseBlob
MagickExport MagickBooleanType CloseBlob(Image *)
channel.h
DestroyDrawInfo
MagickExport DrawInfo * DestroyDrawInfo(DrawInfo *draw_info)
Definition: draw.c:883
IndexChannel
@ IndexChannel
Definition: magick-type.h:171
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:561
_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:105
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
GetCacheViewVirtualIndexQueue
const MagickExport IndexPacket * GetCacheViewVirtualIndexQueue(const CacheView *cache_view)
Definition: cache-view.c:638
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:4367
utility.h
SetImageExtent
MagickExport MagickBooleanType SetImageExtent(Image *image, const size_t columns, const size_t rows)
Definition: image.c:2700
_CacheView
Definition: cache-view.c:65
SetImageBackgroundColor
MagickExport MagickBooleanType SetImageBackgroundColor(Image *image)
Definition: image.c:2382
version.h
random_.h
_ChannelFeatures::sum_average
double sum_average[4]
Definition: feature.h:36
string_.h
_DoublePixelPacket
Definition: pixel.h:84
magic.h
MatrixToImage
MagickExport Image * MatrixToImage(const MatrixInfo *matrix_info, ExceptionInfo *exception)
Definition: matrix.c:869
enhance.h
MagickTrue
@ MagickTrue
Definition: magick-type.h:194
blob.h
semaphore.h
GetBlobSize
MagickExport MagickSizeType GetBlobSize(const Image *image)
Definition: blob.c:1507
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:152
matrix.h
feature.h
TraceEvent
@ TraceEvent
Definition: log.h:38
AcquireMagickMemory
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:473
_CannyInfo::x
ssize_t x
Definition: feature.c:144
AppendImageToList
MagickExport void AppendImageToList(Image **images, const Image *append)
Definition: list.c:78
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:152
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:104
MagickAbsoluteValue
#define MagickAbsoluteValue(x)
Definition: image-private.h:28
FileToString
MagickExport char * FileToString(const char *filename, const size_t extent, ExceptionInfo *exception)
Definition: string.c:995
MeanShiftImage
MagickExport Image * MeanShiftImage(const Image *image, const size_t width, const size_t height, const double color_distance, ExceptionInfo *exception)
Definition: feature.c:2174
timer.h
_LongPixelPacket::index
unsigned int index
Definition: pixel.h:101
OpacityChannel
@ OpacityChannel
Definition: magick-type.h:168
_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:361
MagickFalse
@ MagickFalse
Definition: magick-type.h:193
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:1847
_ImageInfo::filename
char filename[MaxTextExtent]
Definition: image.h:473
GetPixelOpacity
#define GetPixelOpacity(pixel)
Definition: pixel-accessor.h:49
_CannyInfo
Definition: feature.c:134
MaxMeanShiftIterations
#define MaxMeanShiftIterations
_SegmentInfo::x1
double x1
Definition: image.h:108
HoughLineImageTag
#define HoughLineImageTag
DefaultChannels
@ DefaultChannels
Definition: magick-type.h:181
_AffineMatrix::sy
double sy
Definition: geometry.h:100
_PixelPacket::opacity
Quantum opacity
Definition: pixel.h:146
_AffineMatrix::sx
double sx
Definition: geometry.h:97
color-private.h
draw.h
DestroyImageInfo
MagickExport ImageInfo * DestroyImageInfo(ImageInfo *image_info)
Definition: image.c:1261
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:86
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
GetCacheViewVirtualPixels
const MagickExport 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
_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:170
constitute.h
_Image::signature
size_t signature
Definition: image.h:307
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:191
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:1077
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:102
DefaultResolution
const MagickExport double DefaultResolution
Definition: image.c:125
_CannyInfo::y
ssize_t y
Definition: feature.c:145
DegreesToRadians
static double DegreesToRadians(const double degrees)
Definition: image-private.h:82
studio.h
DestroyKernelInfo
MagickExport KernelInfo * DestroyKernelInfo(KernelInfo *kernel)
Definition: morphology.c:2252
RelinquishUniqueFileResource
MagickExport MagickBooleanType RelinquishUniqueFileResource(const char *path)
Definition: resource.c:1190
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
GRAYColorspace
@ GRAYColorspace
Definition: colorspace.h:29
CompositeChannels
@ CompositeChannels
Definition: magick-type.h:172
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:1188
TransformImageColorspace
MagickExport MagickBooleanType TransformImageColorspace(Image *image, const ColorspaceType colorspace)
Definition: colorspace.c:1448
_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:558
paint.h
color.h
_PointInfo
Definition: draw.h:138
_DrawInfo
Definition: draw.h:210
MagickEpsilon
#define MagickEpsilon
Definition: magick-type.h:115
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:1068
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:2301
MeanShiftImage
MagickExport Image * MeanShiftImage(const Image *, const size_t, const size_t, const double, ExceptionInfo *)
Definition: feature.c:2174
RenderHoughLines
static Image * RenderHoughLines(const ImageInfo *image_info, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: feature.c:1784
option.h
SetImageStorageClass
MagickExport MagickBooleanType SetImageStorageClass(Image *image, const ClassType storage_class)
Definition: image.c:2611
GetPixelGreen
#define GetPixelGreen(pixel)
Definition: pixel-accessor.h:43
MaxMap
#define MaxMap
Definition: magick-type.h:78
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:1399
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
KernelInfo
Definition: morphology.h:102
DestroyImageList
MagickExport Image * DestroyImageList(Image *images)
Definition: list.c:462
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
GetImageArtifact
const MagickExport char * GetImageArtifact(const Image *image, const char *artifact)
Definition: artifact.c:266
token.h
InheritException
MagickExport void InheritException(ExceptionInfo *exception, const ExceptionInfo *relative)
Definition: exception.c:633
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:163
_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:131
GetBlobStreamData
MagickExport unsigned char * GetBlobStreamData(const Image *image)
Definition: blob.c:1585
_ChannelStatistics
Definition: statistic.h:30
_LongPixelPacket
Definition: pixel.h:94
AcquireQuantumMemory
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:544
_ChannelFeatures::correlation
double correlation[4]
Definition: feature.h:33
MagickRound
static double MagickRound(double x)
Definition: feature.c:1774
MagickOffsetType
ssize_t MagickOffsetType
Definition: magick-type.h:135