Программа OpenCV C ++ для размытия изображения

Опубликовано: 1 Января, 2022

Ниже приводится объяснение кода C ++ для размытия изображения в C ++ с помощью инструмента OpenCV.

Что нужно знать:

(1) Код будет компилироваться только в среде Linux.

(2) Команда компиляции: g ++ -w article.cpp -o article `pkg-config –libs opencv`

(3) Запустить команду: ./article

(4) Изображение bat.jpg должно находиться в том же каталоге, что и код.

Перед запуском кода убедитесь, что в вашей системе установлен OpenCV.

// Название: OpenCV C ++ Программа для размытия изображения.
// Импортируем файл заголовка ядра
# включить <opencv2 / core / core.hpp> 

// core - компактный модуль, определяющий базовые структуры данных,
// включая плотный многомерный массив Mat и 
// основные функции, используемые всеми остальными модулями.

// highgui - удобный интерфейс для видео 
// захват, а также кодеки изображения и видео
// как простые возможности пользовательского интерфейса.
#include <opencv2 / highgui / highgui.hpp>

// imgproc - модуль обработки изображений, который 
// включает линейную и нелинейную фильтрацию изображений,
// геометрические преобразования изображения (изменение размера, аффинное
// и искажение перспективы, общая таблица на основе 
// переназначение) преобразование цветового пространства, гистограммы, 
// и так далее.
#include <opencv2 / imgproc / imgproc.hpp>

// Заголовок stdio.h определяет три типа переменных, 
// несколько макросов и различные функции для выполнения
// ввод и вывод.
#include <stdio.h>
#include <iostream>

// Пространство имен, в котором находятся все функции C ++ OpenCV
using namespace cv;

используя пространство имен std;

// При необходимости мы также можем использовать namespace std.

int main () // Основная функция
{
    // считываем данные изображения в файле "MyPic.JPG" и 
    // сохраняем его в img
    Mat image = imread ("bat.jpg", CV_LOAD_IMAGE_UNCHANGED); 
   
    // Объект Mat - это базовый контейнер изображения.
    // imread: первый аргумент обозначает загружаемое изображение
    // второй аргумент определяет формат изображения.
    // CV_LOAD_IMAGE_UNCHANGED (<0) загружает изображение как есть
    // CV_LOAD_IMAGE_GRAYSCALE (0) загружает изображение как
    // интенсивность одна
    // CV_LOAD_IMAGE_COLOR (> 0) загружает изображение в 
    // Формат BGR
    // Если второй аргумент не указан, он 
    // подразумеваемый CV_LOAD_IMAGE_COLOR

    // Проверяем отсутствие данных
    если (! image.data) 
    {
        cout << "Не удалось открыть или найти изображение.  n";
        возврат -1; // неудачно
    }
 
    // Функция размытия изображения
    // первый аргумент: источник ввода
    // второй аргумент: источник вывода
    // третий аргумент: размытие размера ядра
    размытие (изображение, изображение, размер (10,10)); 

    // Создаем окно
    // первый аргумент: имя окна
    // второй аргумент: типы флагов:
    // WINDOW_NORMAL Если это установлено, пользователь может изменить размер 
    // окно.
    // WINDOW_AUTOSIZE Если это установлено, размер окна равен 
    // автоматически подстраивается под 
    // отображаемое изображение ()), и вы не можете 
    // изменить размер окна вручную.
    // WINDOW_OPENGL Если это установлено, окно будет
    // создан с поддержкой OpenGL.
    namedWindow ("летучая мышь", CV_WINDOW_AUTOSIZE); 

    // Отображает изображение в указанном окне.
    // первый аргумент: имя окна
    // второй аргумент: изображение для показа (объект Mat)
    imshow ("летучая мышь", изображение); 

    waitKey (0); // Бесконечное время ожидания нажатия клавиши
    
    возврат 0; // Возврат из основной функции
}

Программа OpenCV Python для размытия изображения

Об авторе:

Адитья Пракаш учится в Индийском институте. информационных технологий, Вадодара. Он в основном кодирует на C ++. Его девиз: «Пока все хорошо». Он играет в крикет, смотрит фильмы о супергероях, футбол и любит отвечать на вопросы.

Если вы также хотите продемонстрировать здесь свой блог, посетите GBlog, где вы можете писать в гостевом блоге на GeeksforGeeks.

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .