---
description: >-
  C/C++ | CMake | OpenCV | 视觉 | 滤镜 | 自动光学 | 对象分类 | 背景建模 | 形态学 | 文本识别 | 分割算法 |
  重叠掩膜 | 深度学习
---

# C++(CMake)视觉OpenCV滤镜-自动光学检测-对象分类跟踪-背景建模和形态学操作-文本识别分割算法

### 滤镜

#### 生成CMake脚本文件

在我们开始创建源文件之前，我们将生成 CMakeLists.txt 文件，允许我们编译项目，构建它并执行它。 以下 CMake 脚本简单，但足以编译和生成可执行文件：

```cpp
cmake_minimum_required (VERSION 3.0)

PROJECT(Chapter4_Phototool)

set (CMAKE_CXX_STANDARD 11)

# Requires OpenCV
FIND_PACKAGE( OpenCV 4.0.0 REQUIRED )
MESSAGE('OpenCV version : ${OpenCV_VERSION}')

include_directories(${OpenCV_INCLUDE_DIRS})
link_directories(${OpenCV_LIB_DIR})

ADD_EXECUTABLE(${PROJECT_NAME} main.cpp)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS})
```

第一行表示生成我们的项目所需的最低 CMake 版本，第二行设置我们可以用作 ${PROJECT\_NAME} 变量的项目名称，第三行设置所需的 C++版本； 在我们的例子中，需要 C++ 11 版本，我们可以在下一个片段中看到：

```cpp
cmake_minimum_required (VERSION 3.0)

PROJECT(Chapter4_Phototool)

set (CMAKE_CXX_STANDARD 11)
```

此外，我们需要 OpenCV 库。 首先，我们需要找到库，然后我们将在使用 MESSAGE 函数找到的 OpenCV 库版本上显示一条消息：

```cpp
# Requires OpenCV 
FIND_PACKAGE( OpenCV 4.0.0 REQUIRED ) 
MESSAGE('OpenCV version : ${OpenCV_VERSION}')
```

如果找到最低版本为 4.0 的库，则我们在项目中包含头文件和库文件：

```cpp
include_directories(${OpenCV_INCLUDE_DIRS}) 
link_directories(${OpenCV_LIB_DIR})
```

现在，我们只需要添加源文件来编译和链接 OpenCV 库。 项目名称变量用作可执行文件名，我们只使用一个名为 main.cpp 的源文件：

```cpp
ADD_EXECUTABLE(${PROJECT_NAME} main.cpp) 
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS})
```

### 自动光学检测

### 对象分类跟踪

### 背景建模和形态学操作

### 文本识别分割算法

### 源代码

{% content-ref url="../zhi-dian-mi-jin-brief" %}
[zhi-dian-mi-jin-brief](../zhi-dian-mi-jin-brief)
{% endcontent-ref %}
