Delphi-OpenCV/README.md

150 lines
5.1 KiB
Markdown
Raw Normal View History

# Delphi-OpenCV
* OpenCV version - 2.4.13<br>
* 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>
Laentir Valetov (email: laex@bk.ru)<br>
Mikhail Grigorev (email: sleuthhound@gmail.com)
## Requirements:
* Visual C++ Redistributable for Visual Studio 2015<br>
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
```
(1) 32-bit in the "\x86"
(2) 64-bit in the "\x64"
2015-03-17 21:00:18 +01:00
```
* Shared library FFMPEG 4.2.1 for Windows can be downloaded from [here][5]<br>
or from the repository (Delphi-OpenCV\redist\ffmpeg):
2015-03-17 21:00:18 +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>
Files: *2413.dll and *2413d.dll
2015-03-17 21:00:18 +01:00
```
After installing OpenCV:
(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
```
* Some examples (FFMPEG) required [SDL 2.0 and SDL 1.2][3]<br>
or from the repository (Delphi-OpenCV\redist\SDL\1.2 and \2.0):
2014-11-27 22:11:47 +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
```
# How to install:
## 1. Copy dynamic libraries files
2015-03-17 21:00:18 +01:00
<b>OS Windows 64-bit</b><br>
```
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>
```
2015-03-17 21:00:18 +01:00
Target platform 32-bit: (1),(3),(5),(7) -> "C:\Windows\System32\"
```
## 2. Delphi environment setting
Download and unzip the [archive][1] or clone repository<br>
2014-11-27 22:11:47 +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
```
<PROJECT_ROOT> - Directory, for example, "C:\Delphi\OpenCV\"
<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
```
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>.
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
```
<PROJECT_ROOT>\source
<PROJECT_ROOT>\source\opengl
<PROJECT_ROOT>\source\sdl
<PROJECT_ROOT>\source\sdl2
<PROJECT_ROOT>\packages
<PROJECT_ROOT>\resource
2014-05-24 20:37:15 +02:00
<PROJECT_ROOT>\resource\facedetectxml
<PROJECT_ROOT>\source3
<PROJECT_ROOT>\Delphi-FFMPEG\source
2013-06-10 06:36:45 +02:00
```
where ```<PROJECT_ROOT>``` directory, which was unzipped (or cloned) repository.<br>
## 3. Verify that the environment is configured correctly
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
## 4. Install the components
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
```
## Examples
Open in Delphi IDE and compile:<br>
Examples of the use of certain functions and procedures
```
<PROJECT_ROOT>\samples\LibDemo\LibDemo.groupproj
```
Examples of the use of video processing algorithms
```
<PROJECT_ROOT>\samples\MultiDemo\MultiDemo.groupproj
```
Examples of the use of video processing algorithms using VCL.Forms
```
<PROJECT_ROOT>\samples\VCLDemo\VCLDemo.groupproj
```
2014-05-24 20:37:15 +02:00
Examples of using FFMPEG library header files are in the
```
<PROJECT_ROOT>\Delphi-FFMPEG\examples
2014-05-24 20:37:15 +02:00
```
Examples of use of components
```
<PROJECT_ROOT>\samples\Components\ComponentsDemo.groupproj
```
<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)
2015-01-23 14:13:38 +01:00
[1]: https://github.com/Laex/Delphi-OpenCV/archive/master.zip
[2]: https://www.microsoft.com/en-us/download/details.aspx?id=48145
[3]: https://www.libsdl.org/index.php
[4]: https://github.com/opencv/opencv/releases/tag/2.4.13.6
[5]: http://ffmpeg.zeranoe.com/builds/