2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
в OpenCVfilter2D
Функция представляет собой очень мощный инструмент для свертки изображений с применением различных линейных фильтров. Эта функция обрабатывает каждый пиксель изображения и изменяет характеристики изображения путем свертки его с указанным ядром (или фильтром) свертки.Ниже рассказывается оfilter2D
Подробное введение функции:
В OpenCVfilter2D
Прототип функции следующий:
void cv::filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel,
Point anchor = Point(-1,-1), double delta = 0,
int borderType = BORDER_DEFAULT);
src
Иметь одинаковый размер и количество каналов.dst
ранее добавленные к отфильтрованным пикселям.BORDER_CONSTANT
、BORDER_REPLICATE
、BORDER_REFLECT
ждать.filter2D
Функция фактически выполняет операцию свертки (хотя технически она вычисляет корреляцию, а не строгую свертку, поскольку переворот ядра не требуется). Операция свертки включает в себя «наложение» ядра свертки на входное изображение, умножение соответствующих элементов каждой подматрицы того же размера, что и ядро свертки, а затем сложение результатов. Этот процесс генерирует новое значение пикселя, которое помещается в соответствующее место выходного изображения. Поскольку ядро свертки скользит по всему входному изображению, этот процесс повторяется до тех пор, пока не будет создано полное выходное изображение.
Изменив ядро свертки,filter2D
Функции могут достигать различных эффектов обработки изображений, включая, помимо прочего:
filter2D
Сама функция напрямую не обеспечивает генерацию гауссовских ядер, но может быть переданаgetGaussianKernel
функция генерирует ядро Гаусса и используетfilter2D
Выполните фильтрацию по Гауссу.Ниже приводится использованиеfilter2D
Пример кода функции средней фильтрации (версия Python):
#include