Delphi-OpenCV/README.md
Laentir Valetov 549b8e43ee Once again ... be-be-be-be ...
Signed-off-by: Laentir Valetov <laex@bk.ru>
2019-12-18 02:02:47 +04:00

5.1 KiB
Raw Blame History

Delphi-OpenCV

  • OpenCV version - 2.4.13
  • Development environment - Delphi 2010-10.3, FPC 3.0.4

Contributors:

Laentir Valetov (email: laex@bk.ru)
Mikhail Grigorev (email: sleuthhound@gmail.com)

Requirements:

  • Visual C++ Redistributable for Visual Studio 2015
    Files: msvcp140.dll, msvcp140d.dll in "Delphi-OpenCV\redist" or here, but it is not exactly
    or from the repository (Delphi-OpenCV\redist\VC14):
(1) 32-bit in the "\x86"
(2) 64-bit in the "\x64"
  • Shared library FFMPEG 4.2.1 for Windows can be downloaded from here
    or from the repository (Delphi-OpenCV\redist\ffmpeg):
(3) FFmpeg 32-bit Shared "\x86"
(4) FFmpeg 64-bit Shared "\x64"
  • Dynamic library OpenCV need to download here
    Files: *2413.dll and *2413d.dll
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
  • Some examples (FFMPEG) required SDL 2.0 and SDL 1.2
    or from the repository (Delphi-OpenCV\redist\SDL\1.2 and \2.0):
(7) 32-bit - SDL.dll and SDL2.dll "\x86"
(8) 64-bit - SDL.dll and SDL2.dll "\x64"

How to install:

1. Copy dynamic libraries files

OS Windows 64-bit

Target platform 64-bit: (2),(4),(6),(8) -> "C:\Windows\System32\"
Target platform 32-bit: (1),(3),(5),(7) -> "C:\Windows\SysWOW64\"

OS Windows 32-bit

Target platform 32-bit: (1),(3),(5),(7) -> "C:\Windows\System32\"

2. Delphi environment setting

Download and unzip the archive or clone repository

git clone https://github.com/Laex/Delphi-OpenCV.git

Get the following directory structure

<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

Run InitDelphiFFMPEG.cmd to initialize the Delphi-FFMPEG submodule. The directory should be populated with sources for Delphi-FFMPEG. 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
"Tools-Options-Delphi Options-Library-Library path" or "Tools-Options-Language-Delphi-Library"

<PROJECT_ROOT>\source
<PROJECT_ROOT>\source\opengl
<PROJECT_ROOT>\source\sdl
<PROJECT_ROOT>\source\sdl2
<PROJECT_ROOT>\packages
<PROJECT_ROOT>\resource
<PROJECT_ROOT>\resource\facedetectxml
<PROJECT_ROOT>\source3
<PROJECT_ROOT>\Delphi-FFMPEG\source

where <PROJECT_ROOT> directory, which was unzipped (or cloned) repository.

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:
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

Examples of using FFMPEG library header files are in the

<PROJECT_ROOT>\Delphi-FFMPEG\examples

Examples of use of components

<PROJECT_ROOT>\samples\Components\ComponentsDemo.groupproj

Donate
PayPal USD
PayPal EUR
PayPal RUB
Yandex Money
Donatecoins