1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
module dmagick.c.morphology;
import core.sys.posix.sys.types;
import dmagick.c.exception;
import dmagick.c.geometry;
import dmagick.c.image;
import dmagick.c.magickType;
extern(C)
{
enum KernelInfoType
{
UndefinedKernel,
UnityKernel,
GaussianKernel,
DoGKernel,
LoGKernel,
BlurKernel,
CometKernel,
LaplacianKernel,
SobelKernel,
FreiChenKernel,
RobertsKernel,
PrewittKernel,
CompassKernel,
KirschKernel,
DiamondKernel,
SquareKernel,
RectangleKernel,
DiskKernel,
PlusKernel,
CrossKernel,
RingKernel,
PeaksKernel,
EdgesKernel,
CornersKernel,
ThinDiagonalsKernel,
LineEndsKernel,
LineJunctionsKernel,
RidgesKernel,
ConvexHullKernel,
SkeletonKernel,
ChebyshevKernel,
ManhattanKernel,
EuclideanKernel,
UserDefinedKernel
}
enum MorphologyMethod
{
UndefinedMorphology,
ConvolveMorphology,
CorrelateMorphology,
ErodeMorphology,
DilateMorphology,
ErodeIntensityMorphology,
DilateIntensityMorphology,
DistanceMorphology,
OpenMorphology,
CloseMorphology,
OpenIntensityMorphology,
CloseIntensityMorphology,
SmoothMorphology,
EdgeInMorphology,
EdgeOutMorphology,
EdgeMorphology,
TopHatMorphology,
BottomHatMorphology,
HitAndMissMorphology,
ThinningMorphology,
ThickenMorphology
}
struct KernelInfo
{
KernelInfoType
type;
size_t
width,
height;
ssize_t
x,
y;
double* values;
double
minimum,
maximum,
negative_range,
positive_range,
angle;
KernelInfo*
next;
size_t
signature;
}
KernelInfo* AcquireKernelInfo(const(char)*);
KernelInfo* AcquireKernelBuiltIn(const KernelInfoType, const(GeometryInfo)*);
KernelInfo* CloneKernelInfo(const(KernelInfo)*);
KernelInfo* DestroyKernelInfo(KernelInfo*);
Image* MorphologyImage(const(Image)*, const MorphologyMethod, const ssize_t, const(KernelInfo)*, ExceptionInfo*);
Image* MorphologyImageChannel(const(Image)*, const ChannelType, const MorphologyMethod, const ssize_t, const(KernelInfo)*, ExceptionInfo*);
void ScaleGeometryKernelInfo(KernelInfo*, const(char)*);
void ShowKernelInfo(KernelInfo*);
}
|