Введение в OpenCV
1. Что такое OpenCV
OpenCV — это кроссплатформенная библиотека программного обеспечения для компьютерного зрения и машинного обучения, выпущенная под лицензией BSD с открытым исходным кодом и может работать в операционных системах Linux, Windows, Android и Mac OS.
Подводя итог, можно сказать, что OpenCV — это классическая специализированная библиотека компьютерного зрения, поддерживающая многоязычные, кроссплатформенные, мощные функции, с открытым исходным кодом и бесплатно.
2. Что умеет OpenCV
OpenCV предоставляет множество встроенных базовых элементов для обработки изображений и операций, связанных с компьютерным зрением, которые можно использовать в качестве операций обработки изображений, анализа видео, 3D-реконструкции, извлечения признаков и т. д. Обнаружение и распознавание целей, машинное обучение и другие области. Будущее можно ожидать...
3. Инфраструктура OpenCV
Как видно из рисунка, OpenCV поддерживает несколько языков, включая базовые C/C++/Java/Python и т. д. Основным модулем являетсяCORE
иimgproc
.
Вот некоторые описания основных модулей:
CORE:Основные функциональные модули, включая базовые структуры данных, функции, связанные с операциями рисования/массива, и связанные взаимодействия с openGL.
imgproc:Модуль обработки изображений, включая фильтрацию изображений, гистограмму, геометрическое преобразование, описание формы, анализ движения, обнаружение признаков и т. д.
Object Detection:модуль обнаружения цели
Features2d:т. е. двухмерная функциональная структура, обнаружение и описание функций и т. д.
Calib3d Stereo:В основном содержание калибровки камеры и 3D-реконструкции.
HighGUI:Высокоуровневый графический пользовательский интерфейс GUI, включая интерфейсы мультимедиа, видео и графического интерфейса. OpenCV сам по себе не является графическим интерфейсом, он предоставляет функции графического интерфейса в основном для облегчения разработки и тестирования.
User Contrib:Некоторые новые технические модули не были интегрированы в некоторые новые функции релизной версии, такие как стереосопоставление и другие функции.
установить cmake
Перейти на официальный сайт CMAKEcmake.org/Загрузите подходящую версию и установите ее.
Поскольку для компиляции я использую командную строку вместо графического интерфейса, мне также необходимо настроить переменные среды:
# 打开CMake Toos->How to Install For command line use 里面提供了多种配置的方式
# 例如笔者选择的是以下这种
sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install
СкачатьOpenCV
Автор использует последнюю библиотеку OpenCV версии 4.5.2, а также скачал opencv_contrib-4.5.2.
Адрес склада Opencv: https://github.com/opencv/opencv Адрес склада opencv_contrib: https://github.com/opencv/opencv_contrib
соответственноopencv
иopencv_contrib
Скачайте и разархивируйте в тот же каталог.
Скомпилировать OpenCV
После загрузки и распаковки шаг за шагом выполните следующие команды:
opencv-4.5.2
mkdir build
cd build
rm ../CMakeCache.txt
# CMAKE_BUILD_TYPE=RELEASE 编译模式
# INSTALL_C_EXAMPLES 是否安装C examples 默认off
# BUILD_EXAMPLES 是否Build all examples, 默认为off
# CMAKE_INSTALL_PREFIX 安装路径
# OPENCV_GENERATE_PKGCONFIG 生成opencv.pc文件
# 注意路径
cmake .. -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=opencv的绝对路径/build -D OPENCV_GENERATE_PKGCONFIG=ON -D INSTALL_C_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=opencv_contrib的绝对路径/modules
# 使用4个内核安装
make -j4
make install
Импорт тестов CLion
IDE, которую я здесь использую, — это версия CLion для Mac.
Чтобы проверить, можно ли нормально использовать OpenCV после компиляции, мы просто читаем изображение и отображаем его.
main.cpp:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
std::cout << "Welcome to OpenCV " << CV_VERSION << std::endl;
// 读取图片
cv::Mat mat = imread("test.png");
// 显示图片
imshow("Test",mat);
// 等待窗口,否则无法看到窗口
waitKey(0);
return 0;
}
Затем настройте егоCMakeLists.txt
:
cmake_minimum_required(VERSION 3.17)
project(OpenCVTest)
# 配置头文件
set(OpenCV_DIR 这里填入OpenCV的build目录)
find_package(OpenCV REQUIRED)
set(CMAKE_CXX_STANDARD 14)
add_executable(OpenCVTest main.cpp)
# 库链接
target_link_libraries(OpenCVTest ${OpenCV_LIBS})
После запуска, если нет никаких отклонений, мы увидим тестовое окно с изображением, указывающим, что наша среда разработки OpenCV была успешно построена.
Эпилог
На самом деле, установить среду разработки openCV удобнее, вы можете использовать инструмент управления пакетами brew под Mac, чтобы установить его одним щелчком мыши. Автор выбирает здесь более хлопотную ручную компиляцию и установку в основном для практической практики...
Следуйте за мной, развивайтесь вместе, жизнь — это больше, чем программирование! ! !