3
interface //#################################################################### ■
6
ocv.core_c, ocv.core.types_c;
8
type //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【型】
10
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【レコード】
12
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【クラス】
20
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TocvImage
27
procedure SetCore( const Core_:pIplImage ); virtual;
28
function GetWidth :Integer; virtual;
29
function GetHeight :Integer; virtual;
30
function GetChannelN :Integer; virtual;
33
property Core :pIplImage read _Core write SetCore;
34
property Width :Integer read GetWidth;
35
property Height :Integer read GetHeight;
36
property ChannelN :Integer read GetChannelN;
39
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TocvImage3
41
TocvImage3 = class( TocvImage )
46
procedure CopyFrom( const Image_:TocvImage4 );
47
procedure CopyTo( const Image_:TocvImage4 );
50
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TocvImage4
52
TocvImage4 = class( TocvImage )
57
procedure CopyFrom( const Image_:TocvImage3 ); overload;
58
procedure CopyTo( const Image_:TocvImage3 ); overload;
59
procedure CopyFrom( const Image_:TBitmap ); overload;
60
procedure CopyTo( const Image_:TBitmap ); overload;
63
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TocvBitmap3
65
TocvBitmap3 = class( TocvImage3 )
69
procedure SetCore( const Core_:pIplImage ); override;
71
constructor Create( const Width_,Height_:Integer );
72
destructor Destroy; override;
75
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TocvBitmap4
77
TocvBitmap4 = class( TocvImage4 )
81
procedure SetCore( const Core_:pIplImage ); override;
83
constructor Create( const Width_,Height_:Integer );
84
destructor Destroy; override;
87
//const //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【定数】
89
//var //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【変数】
91
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【ルーチン】
93
implementation //############################################################### ■
95
uses ocv.imgproc_c, ocv.imgproc.types_c;
97
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【レコード】
99
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【クラス】
101
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TocvImage
103
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
105
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
107
/////////////////////////////////////////////////////////////////////// アクセス
109
procedure TocvImage.SetCore( const Core_:pIplImage );
114
function TocvImage.GetWidth :Integer;
116
Result := _Core.width;
119
function TocvImage.GetHeight :Integer;
121
Result := _Core.height;
124
function TocvImage.GetChannelN :Integer;
126
Result := _Core.nChannels;
129
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
131
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TocvImage3
133
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
135
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
137
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
139
/////////////////////////////////////////////////////////////////////// メソッド
141
procedure TocvImage3.CopyFrom( const Image_:TocvImage4 );
143
cvCvtColor( Image_.Core, _Core, CV_BGRA2BGR );
146
procedure TocvImage3.CopyTo( const Image_:TocvImage4 );
148
cvCvtColor( _Core, Image_.Core, CV_BGR2BGRA );
151
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TocvImage4
153
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
155
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
157
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
159
/////////////////////////////////////////////////////////////////////// メソッド
161
procedure TocvImage4.CopyFrom( const Image_:TocvImage3 );
163
cvCvtColor( Image_.Core, _Core, CV_BGR2BGRA );
166
procedure TocvImage4.CopyTo( const Image_:TocvImage3 );
168
cvCvtColor( _Core, Image_.Core, CV_BGRA2BGR );
171
procedure TocvImage4.CopyFrom( const Image_:TBitmap );
177
Map( TMapAccess.Read, D );
179
with _Core^ do Move( D.Data^, ImageData^, ImageSize );
185
procedure TocvImage4.CopyTo( const Image_:TBitmap );
191
Map( TMapAccess.Write, D );
193
with _Core^ do Move( imageData^, D.Data^, ImageSize );
199
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TocvBitmap3
201
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
203
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
205
/////////////////////////////////////////////////////////////////////// アクセス
207
procedure TocvBitmap3.SetCore( const Core_:pIplImage );
209
cvReleaseImage( _Core );
214
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
216
constructor TocvBitmap3.Create( const Width_,Height_:Integer );
220
_Core := cvCreateImage( cvSize( Width_, Height_ ), IPL_DEPTH_8U, 3 );
223
destructor TocvBitmap3.Destroy;
225
cvReleaseImage( _Core );
230
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TocvBitmap4
232
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
234
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
236
/////////////////////////////////////////////////////////////////////// アクセス
238
procedure TocvBitmap4.SetCore( const Core_:pIplImage );
240
cvReleaseImage( _Core );
245
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
247
constructor TocvBitmap4.Create( const Width_,Height_:Integer );
251
_Core := cvCreateImage( cvSize( Width_, Height_ ), IPL_DEPTH_8U, 4 );
254
destructor TocvBitmap4.Destroy;
256
cvReleaseImage( _Core );
261
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【ルーチン】
263
//############################################################################## □
265
initialization //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 初期化
267
finalization //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 最終化
269
end. //######################################################################### ■