OpenCV plugin

Обработка изображений через OpenCV

Версия: 1.2

Дата релиза: 20 января 2023

Описание пользовательского интерфейса

Наверху находятся кнопки назад, вперед, загрузить, сохранить как, запустить, поля для ввода исходного и конечного путей. В центре находится изображение. Правее от изображения выводятся команд. Справа от команд - ввод параметов.

smooth_blur

Суммирование по окрестности param1 x param2 пикселя с последующим масштабированием на 1/(param1 x param2)

smooth_blur(string inpath, string outpath, int width, int height, int x=-1, int y=-1, global::Emgu.CV.CvEnum.BorderType border_type=BorderType.Reflect101)
inpath Путь изображения
outpath Путь выходного файла
width Ширина окна
height Высота окна
x X точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
y Y точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
border_type Режим границ, используемый для экстраполяции пикселей за пределы изображения

Допустимые значения

NegativeOne Используется некоторыми методами cuda, передаст значение -1 в функцию
Constant Граница заполняется фиксированным значением, переданным в качестве последнего параметра функции
Replicate Пиксели из верхней и нижней строк, самого левого и самого правого столбцов реплицируются для заполнения границы.
Reflect
Wrap
Default Тип интерполяции границы по умолчанию
Reflect101
Transparent
Isolated Не смотрите за пределы ROI

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('smooth_blur');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$core_width = 10;
$core_height = 10;
$x = -1;
$y = -1;
$success = $opencv->smooth_blur($input_image, $output_image, $core_width, $core_height, $x, $y);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('smooth_blur')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
core_width = 10
core_height = 10
x = -1
y = -1
success = opencv.smooth_blur(input_image, output_image, core_width, core_height, x, y)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('smooth_blur')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
core_width = 10
core_height = 10
x = -1
y = -1
success = opencv.smooth_blur(input_image, output_image, core_width, core_height, x, y)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

smooth_gaussian

Выполните сглаживание по Гауссу

smooth_gaussian(string inpath, string outpath, int width, int height, double sigma_x=0, double sigma_y=0, global::Emgu.CV.CvEnum.BorderType border_type=BorderType.Reflect101)
inpath Путь изображения
outpath Путь выходного файла
width Ширина окна
height Высота окна
sigma_x Стандартное отклонение в направлении X
sigma_y Стандартное отклонение в направлении Y; если sigmaY равно нулю, оно устанавливается равным sigmaX, если обе сигмы равны нулю, они вычисляются из ksize.width и ksize.height соответственно (подробности см. в getGaussianKernel()); чтобы полностью контролировать результат, независимо от возможных будущих модификаций всей этой семантики, рекомендуется указывать все ksize, sigmaX и sigmaY.
border_type Режим границ, используемый для экстраполяции пикселей за пределы изображения

Допустимые значения

NegativeOne Используется некоторыми методами cuda, передаст значение -1 в функцию
Constant Граница заполняется фиксированным значением, переданным в качестве последнего параметра функции
Replicate Пиксели из верхней и нижней строк, самого левого и самого правого столбцов реплицируются для заполнения границы.
Reflect
Wrap
Default Тип интерполяции границы по умолчанию
Reflect101
Transparent
Isolated Не смотрите за пределы ROI

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('smooth_gaussian');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$width = 11;
$height = 11;
$sigma_x = 1;
$sigma_y = 1;
$success = $opencv->smooth_gaussian($input_image, $output_image, $width, $height, $sigma_x, $sigma_y);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('smooth_gaussian')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
width = 11
height = 11
sigma_x = 1
sigma_y = 1
success = opencv.smooth_gaussian(input_image, output_image, width, height, sigma_x, sigma_y)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('smooth_gaussian')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
width = 11
height = 11
sigma_x = 1
sigma_y = 1
success = opencv.smooth_gaussian(input_image, output_image, width, height, sigma_x, sigma_y)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

smooth_median

Медианное размытие

smooth_median(string inpath, string outpath, int size)
inpath Путь изображения
outpath Путь выходного файла
size Размер окна. Должно быть нечетным

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('smooth_median');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$size = 11;
$success = $opencv->smooth_median($input_image, $output_image, $size);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('smooth_median')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
size = 11
success = opencv.smooth_median(input_image, output_image, size)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('smooth_median')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
size = 11
success = opencv.smooth_median(input_image, output_image, size)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

bilateral_filter

Применение двусторонней фильтрации 3x3

bilateral_filter(string inpath, string outpath, int kernel_size, int color_sigma, int space_sigma, global::Emgu.CV.CvEnum.BorderType border_type=BorderType.Reflect101)
inpath Путь изображения
outpath Путь выходного файла
kernel_size Размер ядра
color_sigma Цветовая сигма
space_sigma Сигма пространства
border_type Режим границ, используемый для экстраполяции пикселей за пределы изображения

Допустимые значения

NegativeOne Используется некоторыми методами cuda, передаст значение -1 в функцию
Constant Граница заполняется фиксированным значением, переданным в качестве последнего параметра функции
Replicate Пиксели из верхней и нижней строк, самого левого и самого правого столбцов реплицируются для заполнения границы.
Reflect
Wrap
Default Тип интерполяции границы по умолчанию
Reflect101
Transparent
Isolated Не смотрите за пределы ROI

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('bilateral_filter');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$kernel_size = 10;
$color_sigma = 75;
$space_sigma = 75;
$success = $opencv->bilateral_filter($input_image, $output_image, $kernel_size, $color_sigma, $space_sigma);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('bilateral_filter')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
kernel_size = 10
color_sigma = 75
space_sigma = 75
success = opencv.bilateral_filter(input_image, output_image, kernel_size, color_sigma, space_sigma)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('bilateral_filter')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
kernel_size = 10
color_sigma = 75
space_sigma = 75
success = opencv.bilateral_filter(input_image, output_image, kernel_size, color_sigma, space_sigma)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

box_filter

Размывает изображение с помощью фильтра коробки

box_filter(string inpath, string outpath, global::Emgu.CV.CvEnum.DepthType depth, int width, int height, int x=-1, int y=-1, bool normalize=true, global::Emgu.CV.CvEnum.BorderType border_type=BorderType.Reflect101)
inpath Путь изображения
outpath Путь выходного файла
depth Глубина выходного изображения

Допустимые значения

Default
Cv8U
Cv8S
Cv16U
Cv16S
Cv32S
Cv32F
Cv64F
width Ширина окна
height Высота окна
x X точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
y Y точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
normalize Указание, нормализовано ли ядро по площади или нет
border_type Режим границ, используемый для экстраполяции пикселей за пределы изображения

Допустимые значения

NegativeOne Используется некоторыми методами cuda, передаст значение -1 в функцию
Constant Граница заполняется фиксированным значением, переданным в качестве последнего параметра функции
Replicate Пиксели из верхней и нижней строк, самого левого и самого правого столбцов реплицируются для заполнения границы.
Reflect
Wrap
Default Тип интерполяции границы по умолчанию
Reflect101
Transparent
Isolated Не смотрите за пределы ROI

Описание возврата: Размытое изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('box_filter');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$depth_type = 'Default';
$width = 50;
$height = 50;
$x = -1;
$y = -1;
$normalize = True;
$border_type = 'Default';
$success = $opencv->box_filter($input_image, $output_image, $depth_type, $width, $height, $x, $y, $normalize, $border_type);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('box_filter')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
depth_type = 'Default'
width = 50
height = 50
x = -1
y = -1
normalize = true
border_type = 'Default'
success = opencv.box_filter(input_image, output_image, depth_type, width, height, x, y, normalize, border_type)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('box_filter')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
depth_type = 'Default'
width = 50
height = 50
x = -1
y = -1
normalize = True
border_type = 'Default'
success = opencv.box_filter(input_image, output_image, depth_type, width, height, x, y, normalize, border_type)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

sqr_box_filter

Вычисляет нормализованную сумму квадратов значений пикселей, перекрывающих фильтр. Для каждого пикселя (x, y) исходного изображения функция вычисляет сумму квадратов тех значений соседних пикселей, которые перекрывают фильтр, размещенный над пикселем (x, y). Ненормализованный квадратный фильтр может быть полезен при вычислении локальной статистики изображения, такой как локальная дисперсия и стандартное отклонение в окрестности пикселя.

sqr_box_filter(string inpath, string outpath, global::Emgu.CV.CvEnum.DepthType depth, int width, int height, int x=-1, int y=-1, bool normalize=true, global::Emgu.CV.CvEnum.BorderType border_type=BorderType.Reflect101)
inpath Путь изображения
outpath Путь выходного файла
depth Глубина выходного изображения

Допустимые значения

Default
Cv8U
Cv8S
Cv16U
Cv16S
Cv32S
Cv32F
Cv64F
width Ширина окна
height Высота окна
x X точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
y Y точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
normalize Указание, нормализовано ли ядро по площади или нет
border_type Режим границ, используемый для экстраполяции пикселей за пределы изображения

Допустимые значения

NegativeOne Используется некоторыми методами cuda, передаст значение -1 в функцию
Constant Граница заполняется фиксированным значением, переданным в качестве последнего параметра функции
Replicate Пиксели из верхней и нижней строк, самого левого и самого правого столбцов реплицируются для заполнения границы.
Reflect
Wrap
Default Тип интерполяции границы по умолчанию
Reflect101
Transparent
Isolated Не смотрите за пределы ROI

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('sqr_box_filter');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$depth_type = 'Default';
$width = 50;
$height = 50;
$x = -1;
$y = -1;
$normalize = True;
$border_type = 'Default';
$success = $opencv->sqr_box_filter($input_image, $output_image, $depth_type, $width, $height, $x, $y, $normalize, $border_type);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('sqr_box_filter')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
depth_type = 'Default'
width = 50
height = 50
x = -1
y = -1
normalize = true
border_type = 'Default'
success = opencv.sqr_box_filter(input_image, output_image, depth_type, width, height, x, y, normalize, border_type)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('sqr_box_filter')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
depth_type = 'Default'
width = 50
height = 50
x = -1
y = -1
normalize = True
border_type = 'Default'
success = opencv.sqr_box_filter(input_image, output_image, depth_type, width, height, x, y, normalize, border_type)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

filter_2D

Применяет произвольный линейный фильтр к изображению. Поддерживается работа на месте. Когда апертура частично находится за пределами изображения, функция интерполирует значения выделенных пикселей из ближайших пикселей, находящихся внутри изображения.

filter_2D(string inpath, string outpath, int x=-1, int y=-1, double delta=0, global::Emgu.CV.CvEnum.BorderType border_type=BorderType.Reflect101)
inpath Путь изображения
outpath Путь выходного файла
x X точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
y Y точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
delta Необязательное значение, добавляемое к отфильтрованным пикселям перед их сохранением в dst.
border_type Режим границ, используемый для экстраполяции пикселей за пределы изображения

Допустимые значения

NegativeOne Используется некоторыми методами cuda, передаст значение -1 в функцию
Constant Граница заполняется фиксированным значением, переданным в качестве последнего параметра функции
Replicate Пиксели из верхней и нижней строк, самого левого и самого правого столбцов реплицируются для заполнения границы.
Reflect
Wrap
Default Тип интерполяции границы по умолчанию
Reflect101
Transparent
Isolated Не смотрите за пределы ROI

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('filter_2D');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$x = -1;
$y = -1;
$delta = 0.0;
$border_type = 'Constant';
$success = $opencv->filter_2D($input_image, $output_image, $x, $y, $delta, $border_type);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('filter_2D')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
x = -1
y = -1
delta = 0.0
border_type = 'Constant'
success = opencv.filter_2D(input_image, output_image, x, y, delta, border_type)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('filter_2D')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
x = -1
y = -1
delta = 0.0
border_type = 'Constant'
success = opencv.filter_2D(input_image, output_image, x, y, delta, border_type)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

filter_speckles

Отфильтровывает небольшие шумовые пятна (крапинки) на карте несоответствия.

filter_speckles(string inpath, string outpath, double new_val, int max_speckle_size, double max_diff)
inpath Путь изображения
outpath Путь выходного файла
new_val Значение несоответствия, используемое для закрашивания спеклов
max_speckle_size Максимальный размер спекла, чтобы считать его спеклом. Алгоритм не влияет на большие BLOB-объекты.
max_diff Максимальная разница между соседними пикселями несоответствия, чтобы поместить их в один и тот же блоб. Обратите внимание, что поскольку StereoBM, StereoSGBM и другие алгоритмы могут возвращать карту диспаратности с фиксированной точкой, где значения диспаратности умножаются на 16, этот масштабный коэффициент следует учитывать при указании значения этого параметра.

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('filter_speckles');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$new_val = 10;
$max_speckle_size = 10;
$max_diff = 10;
$success = $opencv->filter_speckles($input_image, $output_image, $new_val, $max_speckle_size, $max_diff);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('filter_speckles')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
new_val = 10
max_speckle_size = 10
max_diff = 10
success = opencv.filter_speckles(input_image, output_image, new_val, max_speckle_size, max_diff)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('filter_speckles')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
new_val = 10
max_speckle_size = 10
max_diff = 10
success = opencv.filter_speckles(input_image, output_image, new_val, max_speckle_size, max_diff)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

edge_preserving_filter

Фильтр сохранения границ

edge_preserving_filter(string inpath, string outpath, global::Emgu.CV.CvEnum.EdgePreservingFilterFlag edge_preserving_filter_flags=EdgePreservingFilterFlag.RecursFilter, float sigma_s=60f, float sigma_r=0.4f)
inpath Путь изображения
outpath Путь выходного файла
edge_preserving_filter_flags Сохраняющие края фильтры

Допустимые значения

RecursFilter
NormconvFilter
sigma_s Диапазон от 0 до 200
sigma_r Диапазон от 0 до 1

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('edge_preserving_filter');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$flags = 'RecursFilter';
$sigma_s = 50;
$sigma_r = 0.1;
$success = $opencv->edge_preserving_filter($input_image, $output_image, $flags, $sigma_s, $sigma_r);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('edge_preserving_filter')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
flags = 'RecursFilter'
sigma_s = 50
sigma_r = 0.1
success = opencv.edge_preserving_filter(input_image, output_image, flags, sigma_s, sigma_r)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('edge_preserving_filter')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
flags = 'RecursFilter'
sigma_s = 50
sigma_r = 0.1
success = opencv.edge_preserving_filter(input_image, output_image, flags, sigma_s, sigma_r)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

pyr_mean_shift_filtering

Фильтрует изображение с помощью алгоритма среднего сдвига

pyr_mean_shift_filtering(string inpath, string outpath, double sp, double sr, int max_level)
inpath Путь изображения
outpath Путь выходного файла
sp Пространственный радиус окна
sr Радиус цветового окна
max_level Максимальный уровень пирамиды для сегментации. Используйте 1 как значение по умолчанию

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('pyr_mean_shift_filtering');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$sp = 5;
$sr = 5;
$max_level = 5;
$success = $opencv->pyr_mean_shift_filtering($input_image, $output_image, $sp, $sr, $max_level);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('pyr_mean_shift_filtering')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
sp = 5
sr = 5
max_level = 5
success = opencv.pyr_mean_shift_filtering(input_image, output_image, sp, sr, max_level)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('pyr_mean_shift_filtering')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
sp = 5
sr = 5
max_level = 5
success = opencv.pyr_mean_shift_filtering(input_image, output_image, sp, sr, max_level)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

to_grayscale

Преобразовать в черно-белое изображение

to_grayscale(string inpath, string outpath)
inpath Путь изображения
outpath Путь выходного файла

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('to_grayscale');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$success = $opencv->to_grayscale($input_image, $output_image);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('to_grayscale')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.to_grayscale(input_image, output_image)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('to_grayscale')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.to_grayscale(input_image, output_image)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

invert

Вычисляет дополнительное изображение

invert(string inpath, string outpath)
inpath Путь изображения
outpath Путь выходного файла

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('invert');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$success = $opencv->invert($input_image, $output_image);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('invert')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.invert(input_image, output_image)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('invert')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.invert(input_image, output_image)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

canny

Находит края на входном изображении и отмечает их на краях выходного изображения, используя алгоритм Canny. Наименьший из threshold1 и threshold2 используется для связывания ребер, наибольший — для нахождения начальных сегментов сильных ребер.

canny(string inpath, string outpath, double threshold1, double threshold2, int aperture_size=3, bool l2_gradient=false)
inpath Путь изображения
outpath Путь выходного файла
threshold1 Первый порог
threshold2 Второй порог
aperture_size Размер отверстия
l2_gradient Флаг, указывающий, следует ли использовать более точную норму для вычисления величины градиента изображения ( L2gradient=true ) или достаточно нормы по умолчанию ( L2gradient=false ).

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('canny');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$threshold1 = 100;
$threshold2 = 200;
$aperture_size = 3;
$l2_gradient = False;
$success = $opencv->canny($input_image, $output_image, $threshold1, $threshold2, $aperture_size, $l2_gradient);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('canny')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
threshold1 = 100
threshold2 = 200
aperture_size = 3
l2_gradient = false
success = opencv.canny(input_image, output_image, threshold1, threshold2, aperture_size, l2_gradient)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('canny')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
threshold1 = 100
threshold2 = 200
aperture_size = 3
l2_gradient = False
success = opencv.canny(input_image, output_image, threshold1, threshold2, aperture_size, l2_gradient)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

dilate

Расширяет исходное изображение, используя указанный структурирующий элемент, определяющий форму окрестности пикселя, по которой берется максимум. Функция поддерживает режим на месте. Расширение ю можно применять несколько (итераций) раз. В случае цветного изображения каждый канал обрабатывается независимо

dilate(string inpath, string outpath, int x, int y, int iterations, global::Emgu.CV.CvEnum.BorderType border_type)
inpath Путь изображения
outpath Путь выходного файла
x X точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
y Y точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
iterations Количество применений эрозии
border_type Режим границ, используемый для экстраполяции пикселей за пределы изображения

Допустимые значения

NegativeOne Используется некоторыми методами cuda, передаст значение -1 в функцию
Constant Граница заполняется фиксированным значением, переданным в качестве последнего параметра функции
Replicate Пиксели из верхней и нижней строк, самого левого и самого правого столбцов реплицируются для заполнения границы.
Reflect
Wrap
Default Тип интерполяции границы по умолчанию
Reflect101
Transparent
Isolated Не смотрите за пределы ROI

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('dilate');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$x = -1;
$y = -1;
$iterations = 3;
$border_type = 'Constant';
$success = $opencv->dilate($input_image, $output_image, $x, $y, $iterations, $border_type);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('dilate')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
x = -1
y = -1
iterations = 3
border_type = 'Constant'
success = opencv.dilate(input_image, output_image, x, y, iterations, border_type)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('dilate')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
x = -1
y = -1
iterations = 3
border_type = 'Constant'
success = opencv.dilate(input_image, output_image, x, y, iterations, border_type)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

resize

Изменяет размер изображения до указанного размера

resize(string inpath, string outpath, int new_width, int new_height, double fx=0, double fy=0, global::Emgu.CV.CvEnum.Inter interpolation=Inter.Linear)
inpath Путь изображения
outpath Путь выходного файла
new_width Ширина выходного изображения; если его ширина и высота равны нулю, он вычисляется как: dsize=Size(round(fx*src.cols), round(fy*src.rows)). Либо dsize, либо оба fx и fy должны быть ненулевыми.
new_height Высота выходного изображения; если его ширина и высота равны нулю, он вычисляется как: dsize=Size(round(fx*src.cols), round(fy*src.rows)). Либо dsize, либо оба fx и fy должны быть ненулевыми.
fx Масштабный коэффициент по горизонтальной оси
fy Масштабный коэффициент по горизонтальной оси
interpolation Метод интерполяции

Допустимые значения

Nearest Интерполяция ближайшего соседа
Linear Билинейная интерполяция
Cubic Бикубическая интерполяция
Area Повторная выборка с использованием отношения площади пикселя. Это предпочтительный метод прореживания изображения, который дает результаты без муара. В случае масштабирования аналогично методу CV_INTER_NN.
Lanczos4 Интерполяция Ланцоша по окрестностям 8x8
LinearExact Битовая точная билинейная интерполяция
NearestExact Битовая точная интерполяция ближайшего соседа. Это даст те же результаты, что и метод ближайшего соседа в PIL, scikit-image или Matlab.

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('resize');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$new_width = 500;
$new_height = 500;
$fx = 0;
$fy = 0;
$interpolation = 'Linear';
$success = $opencv->resize($input_image, $output_image, $new_width, $new_height, $fx, $fy, $interpolation);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('resize')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
new_width = 500
new_height = 500
fx = 0
fy = 0
interpolation = 'Linear'
success = opencv.resize(input_image, output_image, new_width, new_height, fx, fy, interpolation)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('resize')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
new_width = 500
new_height = 500
fx = 0
fy = 0
interpolation = 'Linear'
success = opencv.resize(input_image, output_image, new_width, new_height, fx, fy, interpolation)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

crop

Обрезать изображение

crop(string inpath, string outpath, int x, int y, int width, int height)
inpath Путь изображения
outpath Путь выходного файла
x X точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
y Y точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
width Ширина окна
height Высота окна

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('crop');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$x = 300;
$y = 100;
$width = 400;
$height = 400;
$success = $opencv->crop($input_image, $output_image, $x, $y, $width, $height);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('crop')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
x = 300
y = 100
width = 400
height = 400
success = opencv.crop(input_image, output_image, x, y, width, height)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('crop')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
x = 300
y = 100
width = 400
height = 400
success = opencv.crop(input_image, output_image, x, y, width, height)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

reshape

Изменяет форму и/или количество каналов 2D-матрицы

reshape(string inpath, string outpath, int channels, int rows)
inpath Путь изображения
outpath Путь выходного файла
channels Новое количество каналов. Если параметр равен 0, количество каналов остается прежним.
rows Новое количество рядов. Если параметр равен 0, количество строк остается прежним.

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('reshape');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$channels = 4;
$rows = 100;
$success = $opencv->reshape($input_image, $output_image, $channels, $rows);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('reshape')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
channels = 4
rows = 100
success = opencv.reshape(input_image, output_image, channels, rows)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('reshape')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
channels = 4
rows = 100
success = opencv.reshape(input_image, output_image, channels, rows)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

split

Разделяет многоканальный массив на отдельные одноканальные массивы. Для работы доступны два режима. Если исходный массив имеет N каналов, то, если первые N каналов назначения не являются IntPtr.Zero, все они извлекаются из исходного массива, в противном случае, если только один целевой канал из первых N не является IntPtr.Zero, этот конкретный канал извлекается, иначе возникает ошибка. Остальные каналы назначения (кроме первых N) всегда должны иметь значение IntPtr.Zero. Для IplImage cvCopy с набором COI также можно использовать для извлечения одного канала из изображения.

split(string inpath, string outpath, int channel)
inpath Путь изображения
outpath Путь выходного файла
channel Индекс канала

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('split');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$channel = 0;
$success = $opencv->split($input_image, $output_image, $channel);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('split')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
channel = 0
success = opencv.split(input_image, output_image, channel)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('split')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
channel = 0
success = opencv.split(input_image, output_image, channel)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

bitwise_and

Вычисляет поэлементное побитовое логическое соединение двух массивов: dst(I)=src1(I) & src2(I), если маска(I)!=0. В случае массивов с плавающей запятой для операции используются их битовые представления. Все массивы должны иметь одинаковый тип, кроме маски, и одинаковый размер.

bitwise_and(string inpath, string inpath2, string outpath)
inpath Путь изображения
inpath2 Путь изображения 2
outpath Путь выходного файла

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('bitwise_and');

$input_image = $test->get_test_file_full_path('circle.jpg');
$input_image2 = $test->get_test_file_full_path('rectangle.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$success = $opencv->bitwise_and($input_image, $input_image2, $output_image);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('bitwise_and')

input_image = test.get_test_file_full_path('circle.jpg')
input_image2 = test.get_test_file_full_path('rectangle.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.bitwise_and(input_image, input_image2, output_image)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('bitwise_and')

input_image = test.get_test_file_full_path('circle.jpg')
input_image2 = test.get_test_file_full_path('rectangle.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.bitwise_and(input_image, input_image2, output_image)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

bitwise_not

Инвертирует каждый бит каждого элемента массива

bitwise_not(string inpath, string outpath)
inpath Путь изображения
outpath Путь выходного файла

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('bitwise_not');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$success = $opencv->bitwise_not($input_image, $output_image);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('bitwise_not')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.bitwise_not(input_image, output_image)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('bitwise_not')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.bitwise_not(input_image, output_image)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

bitwise_or

Вычисляет поэлементную побитовую дизъюнктию двух массивов: dst(I)=источник1(I)|источник2(I). В случае массивов с плавающей запятой для операции используются их битовые представления. Все массивы должны иметь одинаковый тип, кроме маски, и одинаковый размер.

bitwise_or(string inpath, string inpath2, string outpath)
inpath Путь изображения
inpath2 Путь изображения 2
outpath Путь выходного файла

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('bitwise_or');

$input_image = $test->get_test_file_full_path('circle.jpg');
$input_image2 = $test->get_test_file_full_path('rectangle.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$success = $opencv->bitwise_or($input_image, $input_image2, $output_image);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('bitwise_or')

input_image = test.get_test_file_full_path('circle.jpg')
input_image2 = test.get_test_file_full_path('rectangle.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.bitwise_or(input_image, input_image2, output_image)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('bitwise_or')

input_image = test.get_test_file_full_path('circle.jpg')
input_image2 = test.get_test_file_full_path('rectangle.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.bitwise_or(input_image, input_image2, output_image)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

bitwise_xor

Вычисляет поэлементное побитовое логическое соединение двух массивов: dst(I)=src1(I)^src2(I), если маска(I)!=0. В случае массивов с плавающей запятой для операции используются их битовые представления. Все массивы должны иметь одинаковый тип, кроме маски, и одинаковый размер.

bitwise_xor(string inpath, string inpath2, string outpath)
inpath Путь изображения
inpath2 Путь изображения 2
outpath Путь выходного файла

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('bitwise_xor');

$input_image = $test->get_test_file_full_path('circle.jpg');
$input_image2 = $test->get_test_file_full_path('rectangle.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$success = $opencv->bitwise_xor($input_image, $input_image2, $output_image);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('bitwise_xor')

input_image = test.get_test_file_full_path('circle.jpg')
input_image2 = test.get_test_file_full_path('rectangle.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.bitwise_xor(input_image, input_image2, output_image)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('bitwise_xor')

input_image = test.get_test_file_full_path('circle.jpg')
input_image2 = test.get_test_file_full_path('rectangle.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.bitwise_xor(input_image, input_image2, output_image)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

rotate

Вращать изображение

rotate(string inpath, string outpath, double angle, int output_width=-1, int output_height=-1, double scale=1, float x=-1, float y=-1, global::Emgu.CV.CvEnum.Inter interpolation=Inter.Linear, global::Emgu.CV.CvEnum.Warp warp_method=Warp.Default, global::Emgu.CV.CvEnum.BorderType border_type=BorderType.Constant)
inpath Путь изображения
outpath Путь выходного файла
angle Угол поворота в градусах. Положительные значения означают вращение против часовой стрелки (начало координат предполагается в верхнем левом углу).
output_width Результирующая ширина
output_height Результирующая высота
scale Изотропный масштабный коэффициент
x X точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
y Y точки привязки; значение по умолчанию Point(-1,-1) означает, что якорь находится в центре ядра
interpolation Метод интерполяции

Допустимые значения

Nearest Интерполяция ближайшего соседа
Linear Билинейная интерполяция
Cubic Бикубическая интерполяция
Area Повторная выборка с использованием отношения площади пикселя. Это предпочтительный метод прореживания изображения, который дает результаты без муара. В случае масштабирования аналогично методу CV_INTER_NN.
Lanczos4 Интерполяция Ланцоша по окрестностям 8x8
LinearExact Битовая точная билинейная интерполяция
NearestExact Битовая точная интерполяция ближайшего соседа. Это даст те же результаты, что и метод ближайшего соседа в PIL, scikit-image или Matlab.
warp_method Метод деформации

Допустимые значения

Default Ни FILL_OUTLIERS, ни CV_WRAP_INVERSE_MAP
FillOutliers Заполните все целевые пиксели изображения. Если некоторые из них соответствуют выбросам в исходном изображении, им присваивается значение fillval.
InverseMap Указывает, что матрица является обратным преобразованием целевого изображения в исходное и, таким образом, может использоваться непосредственно для интерполяции пикселей. В противном случае функция находит обратное преобразование из map_matrix.
border_type Режим границ, используемый для экстраполяции пикселей за пределы изображения

Допустимые значения

NegativeOne Используется некоторыми методами cuda, передаст значение -1 в функцию
Constant Граница заполняется фиксированным значением, переданным в качестве последнего параметра функции
Replicate Пиксели из верхней и нижней строк, самого левого и самого правого столбцов реплицируются для заполнения границы.
Reflect
Wrap
Default Тип интерполяции границы по умолчанию
Reflect101
Transparent
Isolated Не смотрите за пределы ROI

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('rotate');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$angle = 45;
$success = $opencv->rotate($input_image, $output_image, $angle);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('rotate')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
angle = 45
success = opencv.rotate(input_image, output_image, angle)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('rotate')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
angle = 45
success = opencv.rotate(input_image, output_image, angle)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

threshold

Применяет порог фиксированного уровня к каждому элементу массива. Функция применяет пороговое значение фиксированного уровня к многоканальному массиву. Эта функция обычно используется для получения двухуровневого (бинарного) изображения из изображения в градациях серого. (сравните также может быть использован для этой цели) или для удаления шума, то есть, отфильтровывать пиксели со слишком маленькими или слишком большими значениями. Есть несколько типов пороговое значение, поддерживаемое функцией. Они определяются параметром типа.

threshold(string inpath, string outpath, double threshold_val, double max_value, global::Emgu.CV.CvEnum.ThresholdType threshold_type)
inpath Путь изображения
outpath Путь выходного файла
threshold_val Размер порога
max_value Максимальное значение для использования с пороговыми значениями CV_THRESH_BINARY и CV_THRESH_BINARY_INV
threshold_type Тип порога

Допустимые значения

Binary value = value > threshold ? max_value : 0
BinaryInv value = value > threshold ? 0 : max_value
Trunc value = value > threshold ? threshold : value
ToZero value = value > threshold ? value : 0
ToZeroInv value = value > threshold ? 0 : value
Mask
Otsu использовать алгоритм Оцу для выбора оптимального порогового значения; объедините флаг с одним из указанных выше значений CV_THRESH_*
Triangle Используйте алгоритм треугольника для выбора оптимального порогового значения

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('threshold');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$threshold_val = 50; 
$max_value = 100;
$threshold_type = 'ToZero';
$success = $opencv->threshold($input_image, $output_image, $threshold_val, $max_value, $threshold_type);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('threshold')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
threshold_val = 50 
max_value = 100
threshold_type = 'ToZero'
success = opencv.threshold(input_image, output_image, threshold_val, max_value, threshold_type)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('threshold')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
threshold_val = 50 
max_value = 100
threshold_type = 'ToZero'
success = opencv.threshold(input_image, output_image, threshold_val, max_value, threshold_type)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

adaptive_threshold

Преобразует изображение в градациях серого в бинарное изображение. Порог рассчитывается индивидуально для каждого пикселя. Для метода CV_ADAPTIVE_THRESH_MEAN_C это среднее значение blockSize x blockSize в пикселях. окрестность, вычтенная из param1. Для метода CV_ADAPTIVE_THRESH_GAUSSIAN_C это взвешенная сумма (по Гауссу) размера блока x размер блока в пикселях, вычтенная из param1.

adaptive_threshold(string inpath, string outpath, double max_value, global::Emgu.CV.CvEnum.AdaptiveThresholdType adaptive_threshold_type, global::Emgu.CV.CvEnum.ThresholdType threshold_type, int block_size, double param1)
inpath Путь изображения
outpath Путь выходного файла
max_value Максимальное значение для использования с пороговыми значениями CV_THRESH_BINARY и CV_THRESH_BINARY_INV
adaptive_threshold_type Пороговый тип. должен быть одним из CV_THRESH_BINARY, CV_THRESH_BINARY_INV.

Допустимые значения

MeanC Указывает, что для адаптивного порога следует использовать среднее минус C.
GaussianC Указывает, что для адаптивного порога следует использовать гауссовский минус C.
threshold_type Тип порога

Допустимые значения

Binary value = value > threshold ? max_value : 0
BinaryInv value = value > threshold ? 0 : max_value
Trunc value = value > threshold ? threshold : value
ToZero value = value > threshold ? value : 0
ToZeroInv value = value > threshold ? 0 : value
Mask
Otsu использовать алгоритм Оцу для выбора оптимального порогового значения; объедините флаг с одним из указанных выше значений CV_THRESH_*
Triangle Используйте алгоритм треугольника для выбора оптимального порогового значения
block_size Размер окрестности пикселя, который используется для вычисления порогового значения для пикселя: 3, 5, 7, ...
param1 Константа вычитается из среднего или средневзвешенного значения. Он может быть отрицательным.

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('adaptive_threshold');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$max_value = 100;
$adaptive_threshold_type = 'GaussianC';
$threshold_type = 'Binary';
$block_size = 11;
$param1 = 10;
$success = $opencv->adaptive_threshold($input_image, $output_image, $max_value, $adaptive_threshold_type, $threshold_type, $block_size, $param1);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('adaptive_threshold')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
max_value = 100
adaptive_threshold_type = 'GaussianC'
threshold_type = 'Binary'
block_size = 11
param1 = 10
success = opencv.adaptive_threshold(input_image, output_image, max_value, adaptive_threshold_type, threshold_type, block_size, param1)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('adaptive_threshold')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
max_value = 100
adaptive_threshold_type = 'GaussianC'
threshold_type = 'Binary'
block_size = 11
param1 = 10
success = opencv.adaptive_threshold(input_image, output_image, max_value, adaptive_threshold_type, threshold_type, block_size, param1)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

hconcat

Горизонтальное объединение двух изображений

hconcat(string inpath, string inpath2, string outpath)
inpath Путь изображения
inpath2 Путь изображения 2
outpath Путь выходного файла

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('hconcat');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$success = $opencv->hconcat($input_image, $input_image, $output_image);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('hconcat')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.hconcat(input_image, input_image, output_image)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('hconcat')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.hconcat(input_image, input_image, output_image)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

vconcat

Вертикальное объединение двух изображений

vconcat(string inpath, string inpath2, string outpath)
inpath Путь изображения
inpath2 Путь изображения 2
outpath Путь выходного файла

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('vconcat');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$success = $opencv->vconcat($input_image, $input_image, $output_image);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('vconcat')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.vconcat(input_image, input_image, output_image)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('vconcat')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.vconcat(input_image, input_image, output_image)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

transpose

Транспонировать изображение

transpose(string inpath, string outpath)
inpath Путь изображения
outpath Путь выходного файла

Описание возврата: Выходное изображение

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $opencv);

// начало теста
$test->echo_header('transpose');

$input_image = $test->get_test_file_full_path('rihanna.jpg');
$output_image = $test->get_test_file_full_path('temp.jpg');
$success = $opencv->transpose($input_image, $output_image);
$success = $success ? 'true' : 'false';
echo 'success: '.$success."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, opencv)

// начало теста
test.echo_header('transpose')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.transpose(input_image, output_image)
echo(`success: ${success}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, opencv)

# начало теста
test.echo_header('transpose')

input_image = test.get_test_file_full_path('rihanna.jpg')
output_image = test.get_test_file_full_path('temp.jpg')
success = opencv.transpose(input_image, output_image)
print(f'success: {success}')

# конец теста
print('\n<hr><br>')

# выход
app.quit()