2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
**************************************************************************************************
|
|
|
|
Project Delphi-OpenCV
|
|
|
|
**************************************************************************************************
|
|
|
|
Contributor:
|
|
|
|
Laentir Valetov
|
|
|
|
email:laex@bk.ru
|
|
|
|
Mikhail Grigorev
|
2018-08-16 20:29:02 +02:00
|
|
|
email:sleuthhound@gmail.com
|
2014-10-18 01:12:32 +02:00
|
|
|
**************************************************************************************************
|
|
|
|
You may retrieve the latest version of this file at the GitHub,
|
|
|
|
located at git://github.com/Laex/Delphi-OpenCV.git
|
|
|
|
**************************************************************************************************
|
|
|
|
License:
|
|
|
|
The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");
|
|
|
|
you may not use this file except in compliance with the License. You may obtain a copy of the
|
|
|
|
License at http://www.mozilla.org/MPL/
|
|
|
|
|
|
|
|
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
|
|
|
|
ANY KIND, either express or implied. See the License for the specific language governing rights
|
|
|
|
and limitations under the License.
|
|
|
|
|
|
|
|
Alternatively, the contents of this file may be used under the terms of the
|
|
|
|
GNU Lesser General Public License (the "LGPL License"), in which case the
|
|
|
|
provisions of the LGPL License are applicable instead of those above.
|
|
|
|
If you wish to allow use of your version of this file only under the terms
|
|
|
|
of the LGPL License and not to allow others to use your version of this file
|
|
|
|
under the MPL, indicate your decision by deleting the provisions above and
|
|
|
|
replace them with the notice and other provisions required by the LGPL
|
|
|
|
License. If you do not delete the provisions above, a recipient may use
|
|
|
|
your version of this file under either the MPL or the LGPL License.
|
|
|
|
|
|
|
|
For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html
|
|
|
|
**************************************************************************************************
|
|
|
|
Warning: Using Delphi XE2 syntax!
|
|
|
|
**************************************************************************************************
|
|
|
|
The Initial Developer of the Original Code:
|
|
|
|
OpenCV: open source computer vision library
|
|
|
|
Homepage: http://ocv.org
|
|
|
|
Online docs: http://docs.ocv.org
|
|
|
|
Q&A forum: http://answers.ocv.org
|
|
|
|
Dev zone: http://code.ocv.org
|
|
|
|
**************************************************************************************************
|
|
|
|
Original file:
|
|
|
|
opencv\modules\highgui\include\opencv2\highgui\highgui_c.h
|
|
|
|
*************************************************************************************************
|
|
|
|
*)
|
2013-04-05 13:36:47 +02:00
|
|
|
|
2014-05-22 16:23:41 +02:00
|
|
|
unit ocv.highgui_c;
|
2013-04-05 13:36:47 +02:00
|
|
|
|
2015-04-02 21:43:36 +02:00
|
|
|
{$I OpenCV.inc}
|
|
|
|
|
2013-04-05 13:36:47 +02:00
|
|
|
interface
|
|
|
|
|
|
|
|
uses
|
2014-05-22 16:23:41 +02:00
|
|
|
ocv.core.types_c, ocv.core_c;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
(* ***************************************************************************************\
|
|
|
|
* Basic GUI functions *
|
|
|
|
*************************************************************************************** *)
|
2013-04-05 13:36:47 +02:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
(* For font *)
|
|
|
|
const
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_FONT_LIGHT = 25; // QFont::Light;
|
|
|
|
CV_FONT_NORMAL = 50; // QFont::Normal;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_FONT_DEMIBOLD = 63; // QFont::DemiBold;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_FONT_BOLD = 75; // QFont::Bold;
|
|
|
|
CV_FONT_BLACK = 87; // QFont::Black;
|
|
|
|
CV_STYLE_NORMAL = 0; // QFont::StyleNormal;
|
|
|
|
CV_STYLE_ITALIC = 1; // QFont::StyleItalic;
|
|
|
|
CV_STYLE_OBLIQUE = 2; // QFont::StyleOblique;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
// for color cvScalar(blue_component, green_component, red\_component[, alpha_component])
|
|
|
|
// and alpha= 0 <-> 0xFF (not transparent <-> transparent)
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
CVAPI(CvFont) cvFontQt(const char* nameFont, int pointSize CV_DEFAULT(-1), CvScalar color CV_DEFAULT(cvScalarAll(0)), int weight CV_DEFAULT(CV_FONT_NORMAL), int style CV_DEFAULT(CV_STYLE_NORMAL), int spacing CV_DEFAULT(0));
|
|
|
|
*)
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvFontQt(const nameFont: pCvChar; pointSize: Integer { = -1 }; color: TCvScalar { = CV_DEFAULT(cvScalarAll(0)) };
|
|
|
|
weight: Integer = CV_FONT_NORMAL; style: Integer = CV_STYLE_NORMAL; spacing: Integer = 0): TCvFont; cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2016-08-05 12:41:08 +02:00
|
|
|
(*
|
|
|
|
CVAPI(void) cvAddText(const CvArr* img, const char* text, CvPoint org, CvFont *arg2);
|
|
|
|
*)
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvAddText(const img: pCvArr; const text: pCvChar; org: TCvPoint; arg2: pCvFont); cdecl;
|
2016-08-05 12:41:08 +02:00
|
|
|
(*
|
|
|
|
CVAPI(void) cvDisplayOverlay(const char* name, const char* text, int delayms CV_DEFAULT(0));
|
|
|
|
*)
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvDisplayOverlay(const name: pCvChar; const text: pCvChar; delayms: Integer = 0); cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2016-08-05 12:41:08 +02:00
|
|
|
(*
|
|
|
|
CVAPI(void) cvDisplayStatusBar(const char* name, const char* text, int delayms CV_DEFAULT(0));
|
|
|
|
*)
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvDisplayStatusBar(const name: pCvChar; const text: pCvChar; delayms: Integer = 0); cdecl;
|
2016-08-05 12:41:08 +02:00
|
|
|
(*
|
|
|
|
CVAPI(void) cvSaveWindowParameters(const char* name);
|
|
|
|
*)
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvSaveWindowParameters(const name: pCvChar); cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2016-08-05 12:41:08 +02:00
|
|
|
(*
|
|
|
|
CVAPI(void) cvLoadWindowParameters(const char* name);
|
|
|
|
*)
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvLoadWindowParameters(const name: pCvChar); cdecl;
|
2014-10-18 01:12:32 +02:00
|
|
|
|
|
|
|
Type
|
2019-09-16 13:29:05 +02:00
|
|
|
(* int ( *pt2Func)(int argc, char *argv[]) *)
|
2014-10-18 01:12:32 +02:00
|
|
|
TArgvArray = array [0 .. 0] of pCvChar;
|
|
|
|
pArgvArray = ^TArgvArray;
|
2022-03-16 20:15:42 +01:00
|
|
|
Tpt2Func = function(argc: Integer; argv: pArgvArray): Integer; cdecl;
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
2019-09-16 13:29:05 +02:00
|
|
|
CVAPI(int) cvStartLoop(int ( *pt2Func)(int argc, char *argv[]), int argc, char* argv[]);
|
2014-10-18 01:12:32 +02:00
|
|
|
*)
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvStartLoop(pt2Func: Tpt2Func): Integer; cdecl;
|
2016-08-05 12:41:08 +02:00
|
|
|
(*
|
|
|
|
CVAPI(void) cvStopLoop( void );
|
|
|
|
*)
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvStopLoop; cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2013-05-17 08:10:02 +02:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
Type
|
|
|
|
(* typedef void (CV_CDECL *CvButtonCallback)(int state, void* userdata); *)
|
|
|
|
TCvButtonCallback = procedure(state: Integer; userdata: Pointer); cdecl;
|
|
|
|
|
|
|
|
const
|
|
|
|
(* enum {CV_PUSH_BUTTON = 0, CV_CHECKBOX = 1, CV_RADIOBOX = 2}; *)
|
|
|
|
CV_PUSH_BUTTON = 0;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CHECKBOX = 1;
|
|
|
|
CV_RADIOBOX = 2;
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
CVAPI(int) cvCreateButton( const char* button_name CV_DEFAULT(NULL),CvButtonCallback on_change CV_DEFAULT(NULL), void* userdata CV_DEFAULT(NULL) , int button_type CV_DEFAULT(CV_PUSH_BUTTON), int initial_button_state CV_DEFAULT(0));
|
|
|
|
*)
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvCreateButton(const button_name: pCvChar = nil; on_change: TCvButtonCallback = nil; userdata: Pointer = nil;
|
|
|
|
button_type: Integer = CV_PUSH_BUTTON; initial_button_state: Integer = 0): Integer; cdecl;
|
2014-10-18 01:12:32 +02:00
|
|
|
|
2016-08-05 12:41:08 +02:00
|
|
|
(*
|
|
|
|
this function is used to set some external parameters in case of X Window */
|
|
|
|
CVAPI(int) cvInitSystem( int argc, char** argv );
|
|
|
|
*)
|
2013-05-17 08:10:02 +02:00
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
function cvInitSystem(argc: Integer; argv: ppCVChar): Integer; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvvInitSystem(argc: Integer; argv: ppCVChar): Integer; cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2022-03-16 20:15:42 +01:00
|
|
|
// CVAPI(int) cvStartWindowThread( void );
|
2013-05-17 08:10:02 +02:00
|
|
|
function cvStartWindowThread: Integer; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2013-05-17 08:10:02 +02:00
|
|
|
|
|
|
|
// --------- YV ---------
|
|
|
|
// These 3 flags are used by cvSet/GetWindowProperty;
|
2013-01-01 13:29:34 +01:00
|
|
|
const
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_WND_PROP_FULLSCREEN = 0; // to change/get window's fullscreen property
|
|
|
|
CV_WND_PROP_AUTOSIZE = 1; // to change/get window's autosize property
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_WND_PROP_ASPECTRATIO = 2; // to change/get window's aspectratio property
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_WND_PROP_OPENGL = 3; // to change/get window's opengl support
|
2013-01-01 13:29:34 +01:00
|
|
|
// These 2 flags are used by cvNamedWindow and cvSet/GetWindowProperty;
|
|
|
|
CV_WINDOW_NORMAL = $00000000;
|
|
|
|
// the user can resize the window (no raint) / also use to switch a fullscreen window to a normal size
|
|
|
|
CV_WINDOW_AUTOSIZE = $00000001;
|
|
|
|
// the user cannot resize the window; the size is rainted by the image displayed
|
|
|
|
CV_WINDOW_OPENGL = $00001000; // window with opengl support
|
|
|
|
// Those flags are only for Qt;
|
|
|
|
CV_GUI_EXPANDED = $00000000; // status bar and tool bar
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_GUI_NORMAL = $00000010; // old fashious way
|
2013-01-01 13:29:34 +01:00
|
|
|
// These 3 flags are used by cvNamedWindow and cvSet/GetWindowProperty;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_WINDOW_FULLSCREEN = 1; // change the window to fullscreen
|
|
|
|
CV_WINDOW_FREERATIO = $00000100; // the image expends as much as it can (no ratio raint)
|
|
|
|
CV_WINDOW_KEEPRATIO = $00000000; // the ration image is respected.;
|
2013-04-05 13:36:47 +02:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
(* create window *)
|
2013-04-05 13:36:47 +02:00
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
function cvNamedWindow(const name: pCvChar; flags: Integer = CV_WINDOW_AUTOSIZE): Integer; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvvNamedWindow(const name: pCvChar; flags: Integer = CV_WINDOW_AUTOSIZE): Integer; cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2022-03-16 20:15:42 +01:00
|
|
|
// Set and Get Property of the window
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
procedure cvSetWindowProperty(name: pCvChar; prop_id: Integer; prop_value: Double); cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
function cvGetWindowProperty(name: pCvChar; prop_id: Integer): Double; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
(*
|
|
|
|
display image within window (highgui windows remember their content)
|
2013-01-01 22:36:38 +01:00
|
|
|
CVAPI(void) cvShowImage( const char* name, const CvArr* image );
|
2015-11-12 16:46:36 +01:00
|
|
|
*)
|
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
procedure cvShowImage(const name: pCvChar; const image: pCvArr); cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvvShowImage(const name: pCvChar; const image: pCvArr); cdecl;
|
|
|
|
|
2013-04-09 12:41:27 +02:00
|
|
|
// procedure cvShowImage(const name: pCVChar; const image: pIplImage); cdecl; overload;
|
|
|
|
// procedure cvShowImage(const name: pCVChar; const image: pCvMat); cdecl; overload;
|
2013-01-01 22:36:38 +01:00
|
|
|
|
2013-04-05 13:36:47 +02:00
|
|
|
(* resize/move window *)
|
2014-10-18 01:12:32 +02:00
|
|
|
procedure cvResizeWindow(name: pCvChar; width: Integer; height: Integer); cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvvResizeWindow(name: pCvChar; width: Integer; height: Integer); cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2022-03-16 20:15:42 +01:00
|
|
|
// CVAPI(void) cvMoveWindow( const char* name, int x, int y );
|
2014-10-18 01:12:32 +02:00
|
|
|
procedure cvMoveWindow(const name: pCvChar; x: Integer; y: Integer); cdecl;
|
2013-01-01 22:36:38 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
(* destroy window and all the trackers associated with it *)
|
2014-10-18 01:12:32 +02:00
|
|
|
procedure cvDestroyWindow(const name: pCvChar); cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvvDestroyWindow(const name: pCvChar); cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
procedure cvDestroyAllWindows; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
get native window handle (HWND in case of Win32 and Widget in case of X Window)
|
|
|
|
|
|
|
|
CVAPI(void* ) cvGetWindowHandle( const char* name );
|
|
|
|
*)
|
|
|
|
function cvGetWindowHandle(const name: pCvChar): Pointer; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
get name of highgui window given its native handle
|
|
|
|
|
|
|
|
CVAPI(const char* ) cvGetWindowName( void* window_handle );
|
|
|
|
*)
|
|
|
|
function cvGetWindowName(window_handle: Pointer): pCvChar; cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
type
|
|
|
|
TCvTrackbarCallback = procedure(pos: Integer); cdecl;
|
|
|
|
|
|
|
|
(* create trackbar and display it on top of given window, set callback *)
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvCreateTrackbar(const trackbar_name: pCvChar; const window_name: pCvChar; value: PInteger; count: Integer; on_change: TCvTrackbarCallback): Integer; cdecl;
|
|
|
|
function cvvCreateTrackbar(const trackbar_name: pCvChar; const window_name: pCvChar; value: PInteger; count: Integer; on_change: TCvTrackbarCallback): Integer; cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
type
|
2015-10-05 18:46:36 +02:00
|
|
|
TCvTrackbarCallback2 = procedure(pos: Integer; userdata: Pointer); cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
2013-05-21 01:35:54 +02:00
|
|
|
// CVAPI(int) cvCreateTrackbar2( const char* trackbar_name, const char* window_name,
|
|
|
|
// int* value, int count, CvTrackbarCallback2 on_change,
|
|
|
|
// void* userdata CV_DEFAULT(0));
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvCreateTrackbar2(const trackbar_name: pCvChar; const window_name: pCvChar; value: PInteger; count: Integer; on_change: TCvTrackbarCallback2; userdata: Pointer = nil)
|
|
|
|
: Integer; cdecl;
|
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
// * retrieve or set trackbar position */
|
|
|
|
// CVAPI(int) cvGetTrackbarPos( const char* trackbar_name, const char* window_name );
|
|
|
|
function cvGetTrackbarPos(const trackbar_name: pCvChar; const window_name: pCvChar): Integer; cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2022-03-16 20:15:42 +01:00
|
|
|
// CVAPI(void) cvSetTrackbarPos( const char* trackbar_name, const char* window_name, int pos );
|
2014-10-18 01:12:32 +02:00
|
|
|
procedure cvSetTrackbarPos(const trackbar_name: pCvChar; const window_name: pCvChar; pos: Integer); cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
const
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_EVENT_MOUSEMOVE = 0;
|
|
|
|
CV_EVENT_LBUTTONDOWN = 1;
|
|
|
|
CV_EVENT_RBUTTONDOWN = 2;
|
|
|
|
CV_EVENT_MBUTTONDOWN = 3;
|
|
|
|
CV_EVENT_LBUTTONUP = 4;
|
|
|
|
CV_EVENT_RBUTTONUP = 5;
|
|
|
|
CV_EVENT_MBUTTONUP = 6;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_EVENT_LBUTTONDBLCLK = 7;
|
|
|
|
CV_EVENT_RBUTTONDBLCLK = 8;
|
|
|
|
CV_EVENT_MBUTTONDBLCLK = 9;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_EVENT_FLAG_LBUTTON = 1;
|
|
|
|
CV_EVENT_FLAG_RBUTTON = 2;
|
|
|
|
CV_EVENT_FLAG_MBUTTON = 4;
|
|
|
|
CV_EVENT_FLAG_CTRLKEY = 8;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_EVENT_FLAG_SHIFTKEY = 16;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_EVENT_FLAG_ALTKEY = 32;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
// type
|
|
|
|
// CvMouseCallback = procedure(event: Integer; x: Integer; y: Integer; flags: Integer; param: Pointer); cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
(* assign callback for mouse events *)
|
|
|
|
// CVAPI(procedure)cvSetMouseCallback(var 8 bit = 0; color or not * )
|
|
|
|
{
|
|
|
|
CVAPI(void) cvSetMouseCallback( const char* window_name, CvMouseCallback on_mouse,
|
|
|
|
void* param CV_DEFAULT(NULL));
|
|
|
|
}
|
|
|
|
|
|
|
|
Type
|
|
|
|
// typedef void (CV_CDECL *CvMouseCallback )(int event, int x, int y, int flags, void* param);
|
|
|
|
TCvMouseCallback = procedure(event: Integer; x, y, flags: Integer; param: Pointer); cdecl;
|
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
procedure cvSetMouseCallback(const window_name: pCvChar; on_mouse: TCvMouseCallback; param: Pointer = nil); cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
const
|
|
|
|
CV_LOAD_IMAGE_UNCHANGED = -1;
|
|
|
|
(* 8bit= 1; gray *)
|
|
|
|
CV_LOAD_IMAGE_GRAYSCALE = 0;
|
|
|
|
(* ?= 2; color *)
|
|
|
|
CV_LOAD_IMAGE_COLOR = 1;
|
|
|
|
(* any depth= 3; ? *)
|
|
|
|
CV_LOAD_IMAGE_ANYDEPTH = 2;
|
|
|
|
(* ?= 4; any color *)
|
|
|
|
CV_LOAD_IMAGE_ANYCOLOR = 4;
|
|
|
|
|
|
|
|
(* load image from file iscolor can be a combination of above flags where
|
|
|
|
CV_LOAD_IMAGE_UNCHANGED overrides the other flags
|
|
|
|
using CV_LOAD_IMAGE_ANYCOLOR alone is equivalent to CV_LOAD_IMAGE_UNCHANGED
|
2015-11-12 16:46:36 +01:00
|
|
|
unless CV_LOAD_IMAGE_ANYDEPTH is specified images are converted to 8bit
|
|
|
|
|
|
|
|
CVAPI(IplImage* ) cvLoadImage(const char* filename,int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));
|
|
|
|
*)
|
2013-01-01 13:29:34 +01:00
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
function cvLoadImage(const filename: pCvChar; iscolor: Integer = CV_LOAD_IMAGE_UNCHANGED): pIplImage; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvvLoadImage(const filename: pCvChar; iscolor: Integer = CV_LOAD_IMAGE_UNCHANGED): pIplImage; cdecl;
|
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
CVAPI(CvMat* ) cvLoadImageM( const char* filename, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));
|
|
|
|
*)
|
|
|
|
function cvLoadImageM(const filename: pCvChar; iscolor: Integer = CV_LOAD_IMAGE_COLOR): pCvMat; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
const
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_IMWRITE_JPEG_QUALITY = 1;
|
|
|
|
CV_IMWRITE_PNG_COMPRESSION = 16;
|
|
|
|
CV_IMWRITE_PNG_STRATEGY = 17;
|
|
|
|
CV_IMWRITE_PNG_STRATEGY_DEFAULT = 0;
|
|
|
|
CV_IMWRITE_PNG_STRATEGY_FILTERED = 1;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY = 2;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_IMWRITE_PNG_STRATEGY_RLE = 3;
|
|
|
|
CV_IMWRITE_PNG_STRATEGY_FIXED = 4;
|
|
|
|
CV_IMWRITE_PXM_BINARY = 32;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
(* save image to file *)
|
|
|
|
// CVAPI(Integer)cvSaveImage(PCVChar filename, CvArr * image,
|
|
|
|
// function params CV_DEFAULT(v1: 0)): Integer;
|
|
|
|
{
|
|
|
|
CVAPI(int) cvSaveImage( const char* filename, const CvArr* image, const int* params CV_DEFAULT(0) );
|
|
|
|
}
|
|
|
|
|
2013-04-05 13:36:47 +02:00
|
|
|
// function cvSaveImage(const filename: pCVChar; const image: pIplImage; const params: PInteger = nil): Integer; cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
function cvSaveImage(const filename: pCvChar; const image: Pointer; const params: PInteger = nil): Integer; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvvSaveImage(const filename: pCvChar; const image: Pointer; const params: PInteger = nil): Integer; cdecl;
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
decode image stored in the buffer
|
|
|
|
|
|
|
|
CVAPI(IplImage* ) cvDecodeImage( const CvMat* buf, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));
|
|
|
|
*)
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
function cvDecodeImage(const buf: pCvMat; iscolor: Integer = CV_LOAD_IMAGE_COLOR): pIplImage; cdecl;
|
|
|
|
(*
|
|
|
|
CVAPI(CvMat* ) cvDecodeImageM( const CvMat* buf, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));
|
|
|
|
*)
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
function cvDecodeImageM(const buf: pCvMat; iscolor: Integer = CV_LOAD_IMAGE_COLOR): pCvMat; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
encode image and store the result as a byte vector (single-row 8uC1 matrix)
|
|
|
|
|
|
|
|
CVAPI(CvMat* cvEncodeImage( const char* ext, const CvArr* image,
|
|
|
|
const int* params CV_DEFAULT(0) );
|
|
|
|
*)
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
function cvEncodeImage(const ext: pCvChar; const image: pCvArr; const params: PInteger = nil): pCvMat; cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
const
|
2014-10-18 01:12:32 +02:00
|
|
|
(* enum
|
|
|
|
{
|
|
|
|
CV_CVTIMG_FLIP =1,
|
|
|
|
CV_CVTIMG_SWAP_RB =2
|
|
|
|
}; *)
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CVTIMG_FLIP = 1;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CVTIMG_SWAP_RB = 2;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
utility function: convert one image to another with optional vertical flip
|
|
|
|
*)
|
|
|
|
(*
|
2013-01-01 22:36:38 +01:00
|
|
|
CVAPI(void) cvConvertImage( const CvArr* src, CvArr* dst, int flags CV_DEFAULT(0));
|
2014-10-18 01:12:32 +02:00
|
|
|
*)
|
2016-06-05 10:12:36 +02:00
|
|
|
|
|
|
|
procedure cvConvertImage(const src: pCvArr; dst: pCvArr; flags: Integer = 0); cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvvConvertImage(const src: pCvArr; dst: pCvArr; flags: Integer = 0); cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2013-01-01 22:36:38 +01:00
|
|
|
(* wait for key event infinitely (delay<=0) or for "delay" milliseconds *)
|
2013-01-01 13:29:34 +01:00
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
function cvWaitKey(delay: Integer = 0): Integer; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvvWaitKey(delay: Integer = 0): Integer; cdecl;
|
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
// OpenGL support
|
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
(*
|
|
|
|
typedef void (CV_CDECL *CvOpenGlDrawCallback)(void* userdata);
|
|
|
|
CVAPI(void) cvSetOpenGlDrawCallback(const char* window_name, CvOpenGlDrawCallback callback, void* userdata CV_DEFAULT(NULL));
|
|
|
|
*)
|
|
|
|
Type
|
|
|
|
TCvOpenGlDrawCallback = procedure(userdata: Pointer); cdecl;
|
|
|
|
|
|
|
|
|
2019-09-16 13:29:05 +02:00
|
|
|
procedure cvSetOpenGlDrawCallback(const window_name: pCvChar; callback: TCvOpenGlDrawCallback; userdata: Pointer = nil); cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
// CVAPI( procedure)cvSetOpenGlContext(window_name: PCVChar);
|
2015-11-12 16:46:36 +01:00
|
|
|
|
|
|
|
procedure cvSetOpenGlContext(window_name: pCvChar); cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
2022-03-16 20:15:42 +01:00
|
|
|
// CVAPI(procedure)cvUpdateWindow(window_name: PCVChar);
|
2015-11-12 16:46:36 +01:00
|
|
|
|
|
|
|
procedure cvUpdateWindow(window_name: pCvChar); cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
(* ***************************************************************************************\
|
|
|
|
* Working with Video Files and Cameras *
|
|
|
|
*************************************************************************************** *)
|
|
|
|
|
|
|
|
type
|
2013-04-16 08:40:44 +02:00
|
|
|
(* "black box" capture structure *)
|
2014-05-21 07:14:38 +02:00
|
|
|
TCvCapture = record
|
2013-04-16 08:40:44 +02:00
|
|
|
end;
|
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
pCvCapture = ^TCvCapture;
|
|
|
|
|
|
|
|
(* start capturing frames from video file *)
|
|
|
|
// CVAPI(CvCapture*) cvCreateFileCapture( const char* filename );
|
2015-11-12 16:46:36 +01:00
|
|
|
|
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
function cvCreateFileCapture(const filename: pCvChar): pCvCapture; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvCaptureFromFile(const filename: pCvChar): pCvCapture; cdecl;
|
|
|
|
function cvCaptureFromAVI(const filename: pCvChar): pCvCapture; cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
const
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_ANY = 0; // autodetect
|
|
|
|
CV_CAP_CAM_0 = CV_CAP_ANY;
|
|
|
|
CV_CAP_CAM_1 = 1;
|
|
|
|
CV_CAP_CAM_2 = 2;
|
|
|
|
CV_CAP_CAM_3 = 3;
|
|
|
|
CV_CAP_CAM_4 = 4;
|
|
|
|
CV_CAP_CAM_5 = 5;
|
|
|
|
CV_CAP_MIL = 100; // MIL proprietary drivers
|
|
|
|
CV_CAP_VFW = 200; // platform native
|
|
|
|
CV_CAP_V4L = 200;
|
|
|
|
CV_CAP_V4L2 = 200;
|
|
|
|
CV_CAP_FIREWARE = 300; // IEEE 1394 drivers
|
|
|
|
CV_CAP_FIREWIRE = 300;
|
|
|
|
CV_CAP_IEEE1394 = 300;
|
|
|
|
CV_CAP_DC1394 = 300;
|
|
|
|
CV_CAP_CMU1394 = 300;
|
|
|
|
CV_CAP_STEREO = 400; // TYZX proprietary drivers
|
|
|
|
CV_CAP_TYZX = 400;
|
|
|
|
CV_TYZX_LEFT = 400;
|
|
|
|
CV_TYZX_RIGHT = 401;
|
|
|
|
CV_TYZX_COLOR = 402;
|
|
|
|
CV_TYZX_Z = 403;
|
|
|
|
CV_CAP_QT = 500; // QuickTime
|
|
|
|
CV_CAP_UNICAP = 600; // Unicap drivers
|
|
|
|
CV_CAP_DSHOW = 700; // DirectShow (via videoInput)
|
|
|
|
CV_CAP_PVAPI = 800; // PvAPI; Prosilica GigE SDK
|
|
|
|
CV_CAP_OPENNI = 900; // OpenNI (for Kinect)
|
|
|
|
CV_CAP_OPENNI_ASUS = 910; // OpenNI (for Asus Xtion)
|
|
|
|
CV_CAP_ANDROID = 1000; // Android
|
|
|
|
CV_CAP_XIAPI = 1100; // XIMEA Camera API
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_AVFOUNDATION = 1200;
|
|
|
|
// AVFoundation framework for iOS (OS X Lion will have the same API);
|
|
|
|
|
|
|
|
(* start capturing frames from camera: index = camera_index + domain_offset (CV_CAP_ *)
|
|
|
|
// CVAPI(CvCapture)cvCreateCameraCapture(Integer index);
|
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
function cvCreateCameraCapture(index: Longint): pCvCapture; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvCaptureFromCAM(index: Longint): pCvCapture; cdecl;
|
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
grab a frame, return 1 on success, 0 on fail.
|
|
|
|
this function is thought to be fast
|
|
|
|
|
|
|
|
CVAPI(int) cvGrabFrame( CvCapture* capture );
|
|
|
|
*)
|
2015-11-12 16:46:36 +01:00
|
|
|
|
|
|
|
function cvGrabFrame(capture: pCvCapture): Integer; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
get the frame grabbed with cvGrabFrame(..)
|
|
|
|
This function may apply some frame processing like
|
2013-01-01 13:29:34 +01:00
|
|
|
frame decompression, flipping etc.
|
2014-10-18 01:12:32 +02:00
|
|
|
!!!DO NOT RELEASE or MODIFY the retrieved frame!!!
|
|
|
|
|
|
|
|
CVAPI(IplImage* ) cvRetrieveFrame( CvCapture* capture, int streamIdx CV_DEFAULT(0) );
|
|
|
|
*)
|
2013-01-01 13:29:34 +01:00
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
function cvRetrieveFrame(capture: pCvCapture; streamIdx: Integer = 0): pIplImage; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
(* Just a combination of cvGrabFrame and cvRetrieveFrame
|
|
|
|
not not not DO NOT RELEASE or MODIFY the retrieved frame not not not *)
|
2019-09-16 13:29:05 +02:00
|
|
|
// CVAPI(IplImage* ) cvQueryFrame( CvCapture* capture );
|
2015-11-12 16:46:36 +01:00
|
|
|
|
|
|
|
function cvQueryFrame(capture: pCvCapture): pIplImage; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
(* stop capturing/reading and free resources *)
|
2013-04-16 08:40:44 +02:00
|
|
|
// CVAPI(void) cvReleaseCapture( CvCapture** capture );
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
procedure cvReleaseCapture(Var capture: pCvCapture); cdecl;
|
|
|
|
|
|
|
|
// modes of the controlling registers (can be: auto; manual; auto single push; absolute Latter allowed with any other mode)
|
|
|
|
// every feature can have only one mode turned on at a time;
|
|
|
|
const
|
|
|
|
CV_CAP_PROP_DC1394_OFF = -4;
|
|
|
|
// turn the feature off (not controlled manually nor automatically)
|
|
|
|
CV_CAP_PROP_DC1394_MODE_MANUAL = -3;
|
|
|
|
// set automatically when a value of the feature is set by the user
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_DC1394_MODE_AUTO = -2;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_PROP_DC1394_MODE_ONE_PUSH_AUTO = -1;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_POS_MSEC = 0;
|
|
|
|
CV_CAP_PROP_POS_FRAMES = 1;
|
|
|
|
CV_CAP_PROP_POS_AVI_RATIO = 2;
|
|
|
|
CV_CAP_PROP_FRAME_WIDTH = 3;
|
|
|
|
CV_CAP_PROP_FRAME_HEIGHT = 4;
|
|
|
|
CV_CAP_PROP_FPS = 5;
|
|
|
|
CV_CAP_PROP_FOURCC = 6;
|
|
|
|
CV_CAP_PROP_FRAME_COUNT = 7;
|
|
|
|
CV_CAP_PROP_FORMAT = 8;
|
|
|
|
CV_CAP_PROP_MODE = 9;
|
|
|
|
CV_CAP_PROP_BRIGHTNESS = 10;
|
|
|
|
CV_CAP_PROP_CONTRAST = 11;
|
|
|
|
CV_CAP_PROP_SATURATION = 12;
|
|
|
|
CV_CAP_PROP_HUE = 13;
|
|
|
|
CV_CAP_PROP_GAIN = 14;
|
|
|
|
CV_CAP_PROP_EXPOSURE = 15;
|
|
|
|
CV_CAP_PROP_CONVERT_RGB = 16;
|
|
|
|
CV_CAP_PROP_WHITE_BALANCE_BLUE_U = 17;
|
|
|
|
CV_CAP_PROP_RECTIFICATION = 18;
|
|
|
|
CV_CAP_PROP_MONOCROME = 19;
|
|
|
|
CV_CAP_PROP_SHARPNESS = 20;
|
|
|
|
CV_CAP_PROP_AUTO_EXPOSURE = 21; // exposure control done by camera;
|
2013-01-01 13:29:34 +01:00
|
|
|
// user can adjust refernce level;
|
|
|
|
// using this feature;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_GAMMA = 22;
|
|
|
|
CV_CAP_PROP_TEMPERATURE = 23;
|
|
|
|
CV_CAP_PROP_TRIGGER = 24;
|
|
|
|
CV_CAP_PROP_TRIGGER_DELAY = 25;
|
|
|
|
CV_CAP_PROP_WHITE_BALANCE_RED_V = 26;
|
|
|
|
CV_CAP_PROP_ZOOM = 27;
|
|
|
|
CV_CAP_PROP_FOCUS = 28;
|
|
|
|
CV_CAP_PROP_GUID = 29;
|
|
|
|
CV_CAP_PROP_ISO_SPEED = 30;
|
|
|
|
CV_CAP_PROP_MAX_DC1394 = 31;
|
|
|
|
CV_CAP_PROP_BACKLIGHT = 32;
|
|
|
|
CV_CAP_PROP_PAN = 33;
|
|
|
|
CV_CAP_PROP_TILT = 34;
|
|
|
|
CV_CAP_PROP_ROLL = 35;
|
|
|
|
CV_CAP_PROP_IRIS = 36;
|
|
|
|
CV_CAP_PROP_SETTINGS = 37;
|
|
|
|
CV_CAP_PROP_AUTOGRAB = 1024; // property for highgui class CvCapture_Android only
|
2015-07-03 22:00:09 +02:00
|
|
|
CV_CAP_PROP_SUPPORTED_PREVIEW_SIZES_STRING = 1025; // readonly; tricky property; returns cpnst char* indeed
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_PREVIEW_FORMAT = 1026; // readonly; tricky property; returns cpnst char* indeed
|
2013-01-01 13:29:34 +01:00
|
|
|
// OpenNI map generators;
|
|
|
|
CV_CAP_OPENNI_DEPTH_GENERATOR = 1 shl 31;
|
|
|
|
CV_CAP_OPENNI_IMAGE_GENERATOR = 1 shl 30;
|
|
|
|
CV_CAP_OPENNI_GENERATORS_MASK = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_OPENNI_IMAGE_GENERATOR;
|
|
|
|
// Properties of cameras available through OpenNI interfaces;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_OPENNI_OUTPUT_MODE = 100;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_PROP_OPENNI_FRAME_MAX_DEPTH = 101; // in mm
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_OPENNI_BASELINE = 102; // in mm
|
|
|
|
CV_CAP_PROP_OPENNI_FOCAL_LENGTH = 103; // in pixels
|
|
|
|
CV_CAP_PROP_OPENNI_REGISTRATION = 104; // flag
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_PROP_OPENNI_REGISTRATION_ON = CV_CAP_PROP_OPENNI_REGISTRATION;
|
|
|
|
// flag that synchronizes the remapping depth map to image map
|
|
|
|
// by changing depth generator's view point (if the flag is "on") or;
|
|
|
|
// sets this view point to its normal one (if the flag is "off").;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_OPENNI_APPROX_FRAME_SYNC = 105;
|
|
|
|
CV_CAP_PROP_OPENNI_MAX_BUFFER_SIZE = 106;
|
|
|
|
CV_CAP_PROP_OPENNI_CIRCLE_BUFFER = 107;
|
|
|
|
CV_CAP_PROP_OPENNI_MAX_TIME_DURATION = 108;
|
|
|
|
CV_CAP_PROP_OPENNI_GENERATOR_PRESENT = 109;
|
|
|
|
CV_CAP_OPENNI_IMAGE_GENERATOR_PRESENT = CV_CAP_OPENNI_IMAGE_GENERATOR + CV_CAP_PROP_OPENNI_GENERATOR_PRESENT;
|
|
|
|
CV_CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE = CV_CAP_OPENNI_IMAGE_GENERATOR + CV_CAP_PROP_OPENNI_OUTPUT_MODE;
|
|
|
|
CV_CAP_OPENNI_DEPTH_GENERATOR_BASELINE = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_BASELINE;
|
|
|
|
CV_CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_FOCAL_LENGTH;
|
|
|
|
CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_REGISTRATION;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON = CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION;
|
|
|
|
// Properties of cameras available through GStreamer interface;
|
|
|
|
CV_CAP_GSTREAMER_QUEUE_LENGTH = 200; // default is 1
|
|
|
|
CV_CAP_PROP_PVAPI_MULTICASTIP = 300;
|
|
|
|
// ip for anable multicast master mode. 0 for disable multicast
|
|
|
|
// Properties of cameras available through XIMEA SDK interface;
|
|
|
|
CV_CAP_PROP_XI_DOWNSAMPLING = 400; // Change image resolution by binning or skipping.
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_XI_DATA_FORMAT = 401; // Output data format.
|
|
|
|
CV_CAP_PROP_XI_OFFSET_X = 402;
|
2013-01-01 13:29:34 +01:00
|
|
|
// Horizontal offset from the origin to the area of interest (in pixels).
|
|
|
|
CV_CAP_PROP_XI_OFFSET_Y = 403;
|
|
|
|
// Vertical offset from the origin to the area of interest (in pixels).
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_XI_TRG_SOURCE = 404; // Defines source of trigger.
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_PROP_XI_TRG_SOFTWARE = 405;
|
|
|
|
// Generates an internal trigger. PRM_TRG_SOURCE must be set to TRG_SOFTWARE.
|
|
|
|
CV_CAP_PROP_XI_GPI_SELECTOR = 406; // Selects general purpose input
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_XI_GPI_MODE = 407; // Set general purpose input mode
|
|
|
|
CV_CAP_PROP_XI_GPI_LEVEL = 408; // Get general purpose level
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_PROP_XI_GPO_SELECTOR = 409; // Selects general purpose output
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_XI_GPO_MODE = 410; // Set general purpose output mode
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_PROP_XI_LED_SELECTOR = 411; // Selects camera signalling LED
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_XI_LED_MODE = 412; // Define camera signalling LED functionality
|
|
|
|
CV_CAP_PROP_XI_MANUAL_WB = 413; // Calculates White Balance(must be called during acquisition)
|
|
|
|
CV_CAP_PROP_XI_AUTO_WB = 414; // Automatic white balance
|
|
|
|
CV_CAP_PROP_XI_AEAG = 415; // Automatic exposure/gain
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_PROP_XI_EXP_PRIORITY = 416; // Exposure priority (0.5 - exposure 50%; gain 50%).
|
|
|
|
CV_CAP_PROP_XI_AE_MAX_LIMIT = 417;
|
|
|
|
// Maximum limit of exposure in AEAG procedure CV_CAP_PROP_XI_AG_MAX_LIMIT = 418; // Maximum limit of gain in AEAG procedure
|
|
|
|
CV_CAP_PROP_XI_AEAG_LEVEL = 419;
|
|
|
|
// Average intensity of output signal AEAG should achieve(in %)
|
|
|
|
CV_CAP_PROP_XI_TIMEOUT = 420; // Image capture timeout in milliseconds
|
|
|
|
// Properties for Android cameras;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_ANDROID_FLASH_MODE = 8001;
|
|
|
|
CV_CAP_PROP_ANDROID_FOCUS_MODE = 8002;
|
|
|
|
CV_CAP_PROP_ANDROID_WHITE_BALANCE = 8003;
|
|
|
|
CV_CAP_PROP_ANDROID_ANTIBANDING = 8004;
|
|
|
|
CV_CAP_PROP_ANDROID_FOCAL_LENGTH = 8005;
|
|
|
|
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_NEAR = 8006;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_OPTIMAL = 8007;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_FAR = 8008;
|
2013-01-01 13:29:34 +01:00
|
|
|
// Properties of cameras available through AVFOUNDATION interface;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_IOS_DEVICE_FOCUS = 9001;
|
|
|
|
CV_CAP_PROP_IOS_DEVICE_EXPOSURE = 9002;
|
|
|
|
CV_CAP_PROP_IOS_DEVICE_FLASH = 9003;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_PROP_IOS_DEVICE_WHITEBALANCE = 9004;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_PROP_IOS_DEVICE_TORCH = 9005;
|
2013-01-01 13:29:34 +01:00
|
|
|
// Data given from depth generator.;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_OPENNI_DEPTH_MAP = 0; // Depth values in mm (CV_16UC1)
|
|
|
|
CV_CAP_OPENNI_POINT_CLOUD_MAP = 1; // XYZ in meters (CV_32FC3)
|
|
|
|
CV_CAP_OPENNI_DISPARITY_MAP = 2; // Disparity in pixels (CV_8UC1)
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_OPENNI_DISPARITY_MAP_32F = 3; // Disparity in pixels (CV_32FC1)
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_OPENNI_VALID_DEPTH_MASK = 4; // CV_8UC1
|
2013-01-01 13:29:34 +01:00
|
|
|
// Data given from RGB image generator.;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_OPENNI_BGR_IMAGE = 5;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_OPENNI_GRAY_IMAGE = 6;
|
|
|
|
// Supported output modes of OpenNI image generator
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_OPENNI_VGA_30HZ = 0;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_OPENNI_SXGA_15HZ = 1;
|
|
|
|
CV_CAP_OPENNI_SXGA_30HZ = 2;
|
|
|
|
// supported by Android camera output formats
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_ANDROID_COLOR_FRAME_BGR = 0; // BGR
|
|
|
|
CV_CAP_ANDROID_COLOR_FRAME = CV_CAP_ANDROID_COLOR_FRAME_BGR;
|
|
|
|
CV_CAP_ANDROID_GREY_FRAME = 1; // Y
|
|
|
|
CV_CAP_ANDROID_COLOR_FRAME_RGB = 2;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_ANDROID_COLOR_FRAME_BGRA = 3;
|
|
|
|
CV_CAP_ANDROID_COLOR_FRAME_RGBA = 4;
|
|
|
|
// supported Android camera flash modes
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_ANDROID_FLASH_MODE_AUTO = 0;
|
|
|
|
CV_CAP_ANDROID_FLASH_MODE_OFF = 0;
|
|
|
|
CV_CAP_ANDROID_FLASH_MODE_ON = 1;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_ANDROID_FLASH_MODE_RED_EYE = 2;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_ANDROID_FLASH_MODE_TORCH = 3;
|
2013-01-01 13:29:34 +01:00
|
|
|
// supported Android camera focus modes
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_ANDROID_FOCUS_MODE_AUTO = 0;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_ANDROID_FOCUS_MODE_CONTINUOUS_VIDEO = 0;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_ANDROID_FOCUS_MODE_EDOF = 1;
|
|
|
|
CV_CAP_ANDROID_FOCUS_MODE_FIXED = 2;
|
|
|
|
CV_CAP_ANDROID_FOCUS_MODE_INFINITY = 3;
|
|
|
|
CV_CAP_ANDROID_FOCUS_MODE_MACRO = 4;
|
2013-01-01 13:29:34 +01:00
|
|
|
// supported Android camera white balance modes
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_ANDROID_WHITE_BALANCE_AUTO = 0;
|
|
|
|
CV_CAP_ANDROID_WHITE_BALANCE_CLOUDY_DAYLIGHT = 0;
|
|
|
|
CV_CAP_ANDROID_WHITE_BALANCE_DAYLIGHT = 1;
|
|
|
|
CV_CAP_ANDROID_WHITE_BALANCE_FLUORESCENT = 2;
|
|
|
|
CV_CAP_ANDROID_WHITE_BALANCE_INCANDESCENT = 3;
|
|
|
|
CV_CAP_ANDROID_WHITE_BALANCE_SHADE = 4;
|
|
|
|
CV_CAP_ANDROID_WHITE_BALANCE_TWILIGHT = 5;
|
2013-01-01 13:29:34 +01:00
|
|
|
CV_CAP_ANDROID_WHITE_BALANCE_WARM_FLUORESCENT = 6;
|
|
|
|
// supported Android camera antibanding modes
|
|
|
|
CV_CAP_ANDROID_ANTIBANDING_50HZ = 0;
|
|
|
|
CV_CAP_ANDROID_ANTIBANDING_60HZ = 0;
|
|
|
|
CV_CAP_ANDROID_ANTIBANDING_AUTO = 1;
|
2019-09-16 13:29:05 +02:00
|
|
|
CV_CAP_ANDROID_ANTIBANDING_OFF = 2;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
(* retrieve or set capture properties *)
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
function cvGetCaptureProperty(capture: pCvCapture; property_id: Integer): Double; cdecl;
|
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
function cvSetCaptureProperty(capture: pCvCapture; property_id: Integer; value: Double): Integer; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
// Return the type of the capturer (eg, CV_CAP_V4W, CV_CAP_UNICAP), which is unknown if created with CV_CAP_ANY
|
2014-10-18 01:12:32 +02:00
|
|
|
(*
|
|
|
|
CVAPI(int) cvGetCaptureDomain( CvCapture* capture);
|
|
|
|
*)
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
function cvGetCaptureDomain(capture: pCvCapture): Integer; cdecl;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
type
|
2014-10-18 01:12:32 +02:00
|
|
|
(* "black box" video file writer structure *)
|
2022-03-16 20:15:42 +01:00
|
|
|
TCvVideoWriter = Integer;
|
|
|
|
pCvVideoWriter = ^TCvVideoWriter;
|
2013-01-01 13:29:34 +01:00
|
|
|
ppCvVideoWriter = ^pCvVideoWriter;
|
|
|
|
//
|
|
|
|
// CV_INLINE
|
|
|
|
// function CV_FOURCC(and 255) + ((c2 and 255) shl 8) + ((c3 and 255) shl 16) +
|
|
|
|
// ((c4 and 255) shl 24: c1): Integer;
|
|
|
|
// end;
|
|
|
|
|
|
|
|
const
|
|
|
|
CV_FOURCC_PROMPT = -1; (* Open Codec Selection Dialog (Windows only) *)
|
|
|
|
{$EXTERNALSYM CV_FOURCC_PROMPT}
|
|
|
|
// const
|
|
|
|
// CV_FOURCC_DEFAULT = CV_FOURCC('I', 'Y', 'U',
|
|
|
|
// 'V'( / * Use default codec for specified filename(Linux only) * /;
|
|
|
|
// {$EXTERNALSYM CV_FOURCC_DEFAULT}
|
|
|
|
// (* initialize video file writer *)
|
|
|
|
|
|
|
|
// CVAPI(CvVideoWriter)cvCreateVideoWriter(PCVChar filename, Integer fourcc, Double fps,
|
|
|
|
// CvSize frame_size,
|
|
|
|
// function is_color CV_DEFAULT(v1: 1)): Integer;
|
|
|
|
{
|
2019-09-16 13:29:05 +02:00
|
|
|
CVAPI(CvVideoWriter* ) cvCreateVideoWriter(const char* filename, int fourcc,
|
2013-01-01 13:29:34 +01:00
|
|
|
double fps, CvSize frame_size,
|
|
|
|
int is_color CV_DEFAULT(1));
|
|
|
|
}
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2019-09-16 13:29:05 +02:00
|
|
|
function cvCreateVideoWriter(const filename: pCvChar; fourcc: Integer; fps: Double; frame_size: TCvSize; is_color: Integer = 1): pCvVideoWriter; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvCreateAVIWriter(const filename: pCvChar; fourcc: Integer; fps: Double; frame_size: TCvSize; is_color: Integer = 1): pCvVideoWriter; cdecl;
|
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
function CV_FOURCC(const c1, c2, c3, c4: CVChar): Integer; {$IFDEF USE_INLINE}inline; {$ENDIF}
|
2019-09-16 13:29:05 +02:00
|
|
|
// CVAPI(CvVideoWriter* ) cvCreateImageSequenceWriter( const char* filename,
|
2013-01-01 13:29:34 +01:00
|
|
|
// int is_color CV_DEFAULT(1));
|
|
|
|
|
|
|
|
(* write frame to video file *)
|
|
|
|
// CVAPI(Integer)cvWriteFrame(CvVideoWriter * writer, IplImage * image);
|
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
function cvWriteFrame(writer: pCvVideoWriter; image: pIplImage): Integer; cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvWriteToAVI(writer: pCvVideoWriter; image: pIplImage): Integer; cdecl;
|
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
(* close video file writer *)
|
|
|
|
// CVAPI(procedure)cvReleaseVideoWriter(writer: array of CvVideoWriter);
|
2015-11-12 16:46:36 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
procedure cvReleaseVideoWriter(Var writer: pCvVideoWriter); cdecl;
|
2022-03-16 20:15:42 +01:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
|
|
|
|
(* ***************************************************************************************\
|
|
|
|
* Obsolete functions/synonyms *
|
|
|
|
*************************************************************************************** *)
|
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
const
|
|
|
|
HG_AUTOSIZE = CV_WINDOW_AUTOSIZE;
|
2013-01-01 13:29:34 +01:00
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
// CVAPI(void) cvSetPreprocessFuncWin32_(const void* callback);
|
2019-09-16 13:29:05 +02:00
|
|
|
|
2022-03-16 20:15:42 +01:00
|
|
|
procedure cvSetPreprocessFuncWin32(const callback: Pointer); cdecl;
|
|
|
|
procedure set_preprocess_func(const callback: Pointer); cdecl;
|
2015-11-12 16:46:36 +01:00
|
|
|
|
|
|
|
// CVAPI(void) cvSetPostprocessFuncWin32_(const void* callback);
|
2022-03-16 20:15:42 +01:00
|
|
|
|
|
|
|
procedure cvSetPostprocessFuncWin32(const callback: Pointer); cdecl;
|
|
|
|
procedure set_postprocess_func(const callback: Pointer); cdecl;
|
|
|
|
|
|
|
|
|
2016-08-05 12:41:08 +02:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
implementation
|
|
|
|
|
2014-05-22 16:23:41 +02:00
|
|
|
uses ocv.lib;
|
2013-03-27 23:20:08 +01:00
|
|
|
|
2015-11-12 16:46:36 +01:00
|
|
|
function CV_FOURCC(const c1, c2, c3, c4: CVChar): Integer; {$IFDEF USE_INLINE}inline; {$ENDIF}
|
|
|
|
begin
|
|
|
|
Result := Integer(c1) + (Integer(c2) shl 8) + (Integer(c3) shl 16) + (Integer(c4) shl 24);
|
|
|
|
end;
|
|
|
|
|
2022-03-16 20:15:42 +01:00
|
|
|
function cvFontQt(const nameFont: pCvChar; pointSize: Integer { = -1 }; color: TCvScalar { = CV_DEFAULT(cvScalarAll(0)) };
|
|
|
|
weight: Integer = CV_FONT_NORMAL; style: Integer = CV_STYLE_NORMAL; spacing: Integer = 0): TCvFont; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvAddText(const img: pCvArr; const text: pCvChar; org: TCvPoint; arg2: pCvFont); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvNamedWindow(const name: pCvChar; flags: Integer = CV_WINDOW_AUTOSIZE): Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvvNamedWindow(const name: pCvChar; flags: Integer = CV_WINDOW_AUTOSIZE): Integer; cdecl;external highgui_lib name 'cvNamedWindow'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvShowImage(const name: pCvChar; const image: pCvArr); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvvShowImage(const name: pCvChar; const image: pCvArr); cdecl;external highgui_lib name 'cvShowImage'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvWaitKey(delay: Integer = 0): Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvvWaitKey(delay: Integer = 0): Integer; cdecl;external highgui_lib name 'cvWaitKey'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvDestroyWindow(const name: pCvChar); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvvDestroyWindow(const name: pCvChar); cdecl;external highgui_lib name 'cvDestroyWindow'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvDestroyAllWindows; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvLoadImage(const filename: pCvChar; iscolor: Integer = CV_LOAD_IMAGE_UNCHANGED): pIplImage; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvvLoadImage(const filename: pCvChar; iscolor: Integer = CV_LOAD_IMAGE_UNCHANGED): pIplImage; cdecl;external highgui_lib name 'cvLoadImage'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvCreateFileCapture(const filename: pCvChar): pCvCapture; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvCaptureFromFile(const filename: pCvChar): pCvCapture; cdecl;external highgui_lib name 'cvCreateFileCapture'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvCaptureFromAVI(const filename: pCvChar): pCvCapture; cdecl;external highgui_lib name 'cvCreateFileCapture'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvQueryFrame(capture: pCvCapture): pIplImage; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvReleaseCapture(Var capture: pCvCapture); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvSetCaptureProperty(capture: pCvCapture; property_id: Integer; value: Double): Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvGetCaptureProperty(capture: pCvCapture; property_id: Integer): Double; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvCreateTrackbar(const trackbar_name: pCvChar; const window_name: pCvChar; value: PInteger; count: Integer; on_change: TCvTrackbarCallback): Integer; cdecl;
|
|
|
|
external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvvCreateTrackbar(const trackbar_name: pCvChar; const window_name: pCvChar; value: PInteger; count: Integer; on_change: TCvTrackbarCallback): Integer; cdecl;
|
|
|
|
external highgui_lib name 'cvCreateTrackbar'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvCreateCameraCapture(index: Longint): pCvCapture; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvCaptureFromCAM(index: Longint): pCvCapture; cdecl;external highgui_lib name 'cvCreateCameraCapture'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvSaveImage(const filename: pCvChar; const image: Pointer; const params: PInteger = nil): Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvvSaveImage(const filename: pCvChar; const image: Pointer; const params: PInteger = nil): Integer; cdecl;external highgui_lib name 'cvSaveImage'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvCreateVideoWriter(const filename: pCvChar; fourcc: Integer; fps: Double; frame_size: TCvSize; is_color: Integer = 1): pCvVideoWriter; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvCreateAVIWriter(const filename: pCvChar; fourcc: Integer; fps: Double; frame_size: TCvSize; is_color: Integer = 1): pCvVideoWriter; cdecl; external highgui_lib name 'cvCreateVideoWriter'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvWriteFrame(writer: pCvVideoWriter; image: pIplImage): Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvWriteToAVI(writer: pCvVideoWriter; image: pIplImage): Integer; cdecl; external highgui_lib name 'cvWriteFrame'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvReleaseVideoWriter(Var writer: pCvVideoWriter); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvSetMouseCallback(const window_name: pCvChar; on_mouse: TCvMouseCallback; param: Pointer = nil); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvConvertImage(const src: pCvArr; dst: pCvArr; flags: Integer = 0); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvvConvertImage(const src: pCvArr; dst: pCvArr; flags: Integer = 0); cdecl;external highgui_lib name 'cvConvertImage'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvMoveWindow(const name: pCvChar; x: Integer; y: Integer); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvResizeWindow(name: pCvChar; width: Integer; height: Integer); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvvResizeWindow(name: pCvChar; width: Integer; height: Integer); cdecl;external highgui_lib name 'cvResizeWindow'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvSetWindowProperty(name: pCvChar; prop_id: Integer; prop_value: Double); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvGetWindowProperty(name: pCvChar; prop_id: Integer): Double; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvInitSystem(argc: Integer; argv: ppCVChar): Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvvInitSystem(argc: Integer; argv: ppCVChar): Integer; cdecl; external highgui_lib name 'cvInitSystem'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvStartWindowThread: Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvCreateTrackbar2(const trackbar_name: pCvChar; const window_name: pCvChar; value: PInteger; count: Integer; on_change: TCvTrackbarCallback2; userdata: Pointer = nil)
|
|
|
|
: Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvGetTrackbarPos(const trackbar_name: pCvChar; const window_name: pCvChar): Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvSetTrackbarPos(const trackbar_name: pCvChar; const window_name: pCvChar; pos: Integer); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvDisplayOverlay; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvDisplayStatusBar; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvSaveWindowParameters; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvLoadWindowParameters; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvStartLoop; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvStopLoop; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvCreateButton; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvGetWindowHandle(const name: pCvChar): Pointer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvGetWindowName(window_handle: Pointer): pCvChar; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvLoadImageM(const filename: pCvChar; iscolor: Integer = CV_LOAD_IMAGE_COLOR): pCvMat; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvDecodeImage(const buf: pCvMat; iscolor: Integer = CV_LOAD_IMAGE_COLOR): pIplImage; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvDecodeImageM(const buf: pCvMat; iscolor: Integer = CV_LOAD_IMAGE_COLOR): pCvMat; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvEncodeImage(const ext: pCvChar; const image: pCvArr; const params: PInteger = nil): pCvMat; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvSetOpenGlDrawCallback(const window_name: pCvChar; callback: TCvOpenGlDrawCallback; userdata: Pointer = nil); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvSetOpenGlContext(window_name: pCvChar); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvUpdateWindow(window_name: pCvChar); cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvGrabFrame(capture: pCvCapture): Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvRetrieveFrame(capture: pCvCapture; streamIdx: Integer = 0): pIplImage; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
function cvGetCaptureDomain(capture: pCvCapture): Integer; cdecl; external highgui_lib{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvSetPreprocessFuncWin32(const callback: Pointer); cdecl; external highgui_lib name 'cvSetPreprocessFuncWin32_'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure set_preprocess_func(const callback: Pointer); cdecl; external highgui_lib name 'cvSetPreprocessFuncWin32_'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure cvSetPostprocessFuncWin32(const callback: Pointer); cdecl; external highgui_lib name 'cvSetPostprocessFuncWin32_'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
|
|
|
procedure set_postprocess_func(const callback: Pointer); cdecl; external highgui_lib name 'cvSetPostprocessFuncWin32_'{$IFDEF DELAYEDLOADLIB} delayed{$ENDIF};
|
2019-09-16 13:29:05 +02:00
|
|
|
|
|
|
|
initialization
|
|
|
|
|
2014-10-18 01:12:32 +02:00
|
|
|
|
2013-01-01 13:29:34 +01:00
|
|
|
end.
|