2017-09-21 20:03:28 +02:00
# Delphi-OpenCV
2018-09-14 17:50:03 +02:00
* OpenCV version - 2.4.13< br >
2019-09-17 07:39:54 +02:00
* Development environment - Delphi 2010-10.3, FPC 3.0.4< br >
2014-11-26 05:38:15 +01:00
2014-11-27 22:11:47 +01:00
< b > Contributors:< / b >
2017-09-21 20:03:28 +02:00
Laentir Valetov (email: laex@bk.ru)< br >
2014-05-11 02:42:34 +02:00
Mikhail Grigorev (email: sleuthhound@gmail.com)
2017-09-21 20:03:28 +02:00
## Requirements:
2017-05-26 08:43:48 +02:00
* Visual C++ Redistributable for Visual Studio 2015< br >
2019-12-17 22:53:23 +01:00
Files: msvcp140.dll, msvcp140d.dll in "Delphi-OpenCV\redist\" or [here, but it is not exactly][2]< br >
or from the repository (Delphi-OpenCV\redist\VC14):
2015-03-17 21:00:18 +01:00
```
2019-12-17 22:53:23 +01:00
(1) 32-bit in the "\x86"
(2) 64-bit in the "\x64"
2015-03-17 21:00:18 +01:00
```
2019-09-27 14:00:17 +02:00
* Shared library FFMPEG 4.2.1 for Windows can be downloaded from [here][5]< br >
2019-12-17 22:53:23 +01:00
or from the repository (Delphi-OpenCV\redist\ffmpeg):
2015-03-17 21:00:18 +01:00
```
2019-12-17 22:53:23 +01:00
(3) FFmpeg 32-bit Shared "\x86"
(4) FFmpeg 64-bit Shared "\x64"
2015-03-17 21:00:18 +01:00
```
* Dynamic library OpenCV need to download [here][4]< br >
2017-05-26 08:43:48 +02:00
Files: *2413.dll and *2413d.dll
2015-03-17 21:00:18 +01:00
```
2015-08-23 13:20:53 +02:00
After installing OpenCV:
2017-05-26 08:43:48 +02:00
(5) 32-bit in the C:\OpenCV\build\x86\vc14\bin\*.dll
(6) 64-bit in the C:\OpenCV\build\x64\vc14\bin\*.dll
2015-03-17 21:00:18 +01:00
```
2014-11-25 02:41:51 +01:00
* Some examples (FFMPEG) required [SDL 2.0 and SDL 1.2][3]< br >
2019-12-17 22:53:23 +01:00
or from the repository (Delphi-OpenCV\redist\SDL\1.2 and \2.0):
2014-11-27 22:11:47 +01:00
```
2019-12-17 22:53:23 +01:00
(7) 32-bit - SDL.dll and SDL2.dll "\x86"
(8) 64-bit - SDL.dll and SDL2.dll "\x64"
2015-03-17 21:00:18 +01:00
```
2019-12-17 22:53:23 +01:00
# How to install:
2019-12-17 23:02:47 +01:00
## 1. Copy dynamic libraries files
2015-03-17 21:00:18 +01:00
< b > OS Windows 64-bit< / b > < br >
```
2018-09-14 17:50:03 +02:00
Target platform 64-bit: (2),(4),(6),(8) -> "C:\Windows\System32\"
2015-03-17 21:00:18 +01:00
Target platform 32-bit: (1),(3),(5),(7) -> "C:\Windows\SysWOW64\"
```
< b > OS Windows 32-bit< / b > < br >
2019-12-17 22:57:04 +01:00
```
2015-03-17 21:00:18 +01:00
Target platform 32-bit: (1),(3),(5),(7) -> "C:\Windows\System32\"
2019-12-17 22:57:04 +01:00
```
2019-12-17 23:02:47 +01:00
## 2. Delphi environment setting
2019-12-17 22:53:23 +01:00
Download and unzip the [archive][1] or clone repository< br >
2014-11-27 22:11:47 +01:00
```
2019-12-17 22:53:23 +01:00
git clone https://github.com/Laex/Delphi-OpenCV.git
```
Get the following directory structure< br >
2013-06-10 06:36:45 +02:00
```
2014-11-25 02:41:51 +01:00
< PROJECT_ROOT > - Directory, for example, "C:\Delphi\OpenCV\"
2019-12-17 22:53:23 +01:00
< bin > - here are the executable files of the examples
< CheckCVDep > - program for checking the environment
< Delphi-FFMPEG > - empty directory for "Delphi-FFMPEG"
< packages > - packages for D10-D10.3
< redist > - redistributable packages
< resource > - media for working examples and Haar-cascades
< samples > - examples
< source > - object pascal sources for OpenCV, SDL, OpenGL
< source3 > - attempt for opencv 3
< source4 > - blank for OpenCV 4
2013-06-10 06:36:45 +02:00
```
2019-12-17 23:00:38 +01:00
Run < b > InitDelphiFFMPEG.cmd< / b > to initialize the < b > Delphi-FFMPEG< / b > submodule. The < b > < Delphi-FFMPEG > < / b > directory should be populated with sources for < b > Delphi-FFMPEG< / b > .
2019-12-17 22:53:23 +01:00
If it didn<64> t work, then
```
git clone https://github.com/Laex/Delphi-FFMPEG.git
```
Add the search path for the modules of the project in Delphi IDE< br >
"Tools-Options-Delphi Options-Library-Library path" or "Tools-Options-Language-Delphi-Library"
2013-06-10 06:36:45 +02:00
```
2014-05-20 06:02:43 +02:00
< PROJECT_ROOT > \source
2017-09-21 20:03:28 +02:00
< PROJECT_ROOT > \source\opengl
< PROJECT_ROOT > \source\sdl
< PROJECT_ROOT > \source\sdl2
2019-12-17 22:53:23 +01:00
< PROJECT_ROOT > \packages
< PROJECT_ROOT > \resource
2014-05-24 20:37:15 +02:00
< PROJECT_ROOT > \resource\facedetectxml
2019-12-17 22:53:23 +01:00
< PROJECT_ROOT > \source3
< PROJECT_ROOT > \Delphi-FFMPEG\source
2013-06-10 06:36:45 +02:00
```
2019-12-17 22:53:23 +01:00
where ```< PROJECT_ROOT > ``` directory, which was unzipped (or cloned) repository.< br >
2019-12-17 23:02:47 +01:00
## 3. Verify that the environment is configured correctly
2018-04-27 19:30:03 +02:00
Run from the repository
```
Delphi-OpenCV/CheckCVDep/CheckCVDep.exe
```
The program checks the availability of dynamic libraries
```
------- Verifying Microsoft DLL -------
OK
------- OpenCV DLL -------
OK
------- Delphi-OpenCV classes DLL -------
OK
------- FFMPEG DLL -------
OK
------- SDL DLL -------
OK
```
To successfully install components and run most of the examples, the availability of FFMPEG DLL, Microsoft DLL and OpenCV DLL is sufficient
2019-12-17 23:02:47 +01:00
## 4. Install the components
2019-12-17 22:53:23 +01:00
To install the components, open and install
```
< PROJECT_ROOT > \packages\Delphi XXX\rtpFFMPEG.dpk
< PROJECT_ROOT > \packages\Delphi XXX\rclVCLOpenCV.dpk
< PROJECT_ROOT > \packages\Delphi XXX\rclFMXOpenCV.dpk
< PROJECT_ROOT > \packages\Delphi XXX\dclVCLOpenCV.dpk
< PROJECT_ROOT > \packages\Delphi XXX\dclFMXOpenCV.dpk
```
2017-09-21 20:03:28 +02:00
## Examples
2014-05-11 02:42:34 +02:00
Open in Delphi IDE and compile:< br >
2013-12-03 19:28:59 +01:00
Examples of the use of certain functions and procedures
2013-07-12 20:31:28 +02:00
```
2014-05-04 13:35:57 +02:00
< PROJECT_ROOT > \samples\LibDemo\LibDemo.groupproj
2013-12-03 19:28:59 +01:00
```
Examples of the use of video processing algorithms
```
2014-05-04 13:35:57 +02:00
< PROJECT_ROOT > \samples\MultiDemo\MultiDemo.groupproj
2013-12-03 19:28:59 +01:00
```
Examples of the use of video processing algorithms using VCL.Forms
```
2014-05-04 13:35:57 +02:00
< PROJECT_ROOT > \samples\VCLDemo\VCLDemo.groupproj
2013-12-03 19:28:59 +01:00
```
2014-05-24 20:37:15 +02:00
Examples of using FFMPEG library header files are in the
```
2019-12-17 22:53:23 +01:00
< PROJECT_ROOT > \Delphi-FFMPEG\examples
2014-05-24 20:37:15 +02:00
```
2014-09-30 08:19:43 +02:00
Examples of use of components
2014-05-11 02:42:34 +02:00
```
2014-09-30 08:19:43 +02:00
< PROJECT_ROOT > \samples\Components\ComponentsDemo.groupproj
2014-05-11 02:42:34 +02:00
```
2017-09-21 20:03:28 +02:00
< b > Donate< / b > < br >
2019-10-28 09:00:10 +01:00
< a href = "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5Z5JQ7C9JCJQN" > PayPal USD< / a > < br >
< a href = "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=WQYST8J8PR4K2" > PayPal EUR< / a > < br >
< a href = "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XN8D6TJMSXPFL" > PayPal RUB< / a > < br >
< a href = "https://money.yandex.ru/to/410011600173245" > Yandex Money< / a > < br >
2019-10-28 08:59:41 +01:00
[![Donatecoins ](http://donatecoins.org/btc/3MTXVtRgQnA22EtBxP97Nws6GS8autp38s.svg )](http://donatecoins.org/btc/3MTXVtRgQnA22EtBxP97Nws6GS8autp38s)
2017-09-21 20:03:28 +02:00
2015-01-23 14:13:38 +01:00
2014-05-11 02:42:34 +02:00
[1]: https://github.com/Laex/Delphi-OpenCV/archive/master.zip
2017-05-26 08:43:48 +02:00
[2]: https://www.microsoft.com/en-us/download/details.aspx?id=48145
2014-11-25 02:41:51 +01:00
[3]: https://www.libsdl.org/index.php
2019-09-17 07:39:54 +02:00
[4]: https://github.com/opencv/opencv/releases/tag/2.4.13.6
2019-12-17 23:02:47 +01:00
[5]: http://ffmpeg.zeranoe.com/builds/