# opencv
**Repository Path**: tjurm/opencv
## Basic Information
- **Project Name**: opencv
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 28
- **Created**: 2023-11-18
- **Last Updated**: 2023-12-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# OpenCV作业
#### 一、作业下载
1. 打开终端,使用`git clone https://gitee.com/tjurm/opencv.git`来clone本次作业的代码
2. 使用vscode**打开clone下来的`opencv`文件夹**,如下:
3. 右键点击左侧文件列表的空白位置,新建文件夹:`.vscode`,注意前面有个`.`,在里面添加一个文件`c_cpp_properties.json`,用于设置代码补全的搜索路径,内容如下:
```json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/local/include/opencv4"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
```
4. 点开main.cc,如果没出现任何错误提示(红色下划线),就说明一切正常。
#### 二、作业简介
在这个作业中我们设置了多个练习来帮助大家熟悉OpenCV的常用操作(针对自瞄),每个练习都需要使用OpenCV来实现一些功能函数,截止目前总共有9个练习,在`include/impls.h`中能够看到,每个函数对应了一个练习。
```c++
// 练习 (1)
std::vector split(const cv::Mat& rgb_image);
// 练习 (2)
std::vector threshold(const cv::Mat& src, int threshold_value);
...
```
**针对某一个练习,大家需要做的就是在代码文件:`src/函数名/impl.cc`中按照注释内的指导实现这个函数。**
#### 三、运行方式
每个练习对应了一个名字,所有的练习如下所示:
```
erode
find_contours
rect
split
threshold
compute_iou
compute_area_ratio
roi_color
resize
```
实际上可以看`main.cc`里的`16~33`行就知道每个测试点的名字跟函数的对应关系了。
1. `opencv`文件夹的根目录下有一个`run.list`文件,里面内容如下:
```
stop
erode
find_contours
rect
split
threshold
compute_iou
compute_area_ratio
roi_color
resize
```
假设你要运行`erode`,`find_contours`两个测试点,你就把这两行挪到`stop`上面就行,`stop`以下的都不会被运行。
2. 设置好`run.list`之后,使用下面的命令编译测试程序:
```shell
mkdir build
cd build
cmake ..
make -j4
```
注意,一行一行执行,别直接图省事儿一次性复制了。
你会看到:
3. 编译完之后,在`build`目录下执行:
```shell
./tjurm_tutorial
```
运行所有的测试点,每个测试点会有输出内容,认真看就行了。
4. 每次修改代码后,都要在`build`目录下执行:
```shell
cmake ..
make -j4
./tjurm-tutorial
```
否则代码修改无效。