Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_opencv
提交
347105ad
S
skill_tree_opencv
项目概览
CSDN 技术社区
/
skill_tree_opencv
通知
33
Star
9
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
347105ad
编写于
11月 03, 2021
作者:
F
feilong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
init opencv dir
上级
c33f30c9
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
238 addition
and
40 deletion
+238
-40
README.md
README.md
+64
-38
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/config.json
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/config.json
+23
-0
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/helloworld.cpp
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/helloworld.cpp
+11
-0
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/helloworld.json
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/helloworld.json
+8
-0
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/helloworld.md
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/helloworld.md
+81
-0
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/lena.png
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/lena.png
+0
-0
data/1.OpenCV初阶/1.OpenCV基础/2.OpenCV安装/config.json
data/1.OpenCV初阶/1.OpenCV基础/2.OpenCV安装/config.json
+8
-0
data/1.OpenCV初阶/1.OpenCV基础/config.json
data/1.OpenCV初阶/1.OpenCV基础/config.json
+6
-0
data/3.OpenCV高阶/config.json
data/3.OpenCV高阶/config.json
+0
-1
data/tree.json
data/tree.json
+37
-1
src/__pycache__/tree.cpython-38.pyc
src/__pycache__/tree.cpython-38.pyc
+0
-0
未找到文件。
README.md
浏览文件 @
347105ad
...
...
@@ -9,17 +9,17 @@
*
位置:
`data/config.json`
*
说明:可编辑配置关键词等字段,其中
`node_id`
字段是生成的,请勿编辑
*
技能树
`难度节点`
:
*
位置:
`data/xxx`
,例如:
`data/1.
Java
初阶`
*
位置:
`data/xxx`
,例如:
`data/1.
OpenCV
初阶`
*
说明:
*
每个技能树有 3 个等级,目录前的序号是必要的,用来保持文件夹目录的顺序
*
每个目录下有一个
`config.json`
可配置关键词信息,其中
`node_id`
字段是生成的,请勿编辑
*
技能树
`章节点`
:
*
位置:
`data/xxx/xxx`
,例如:
`data/1.
Java初阶/1.Java概述
`
*
位置:
`data/xxx/xxx`
,例如:
`data/1.
OpenCV初阶/1.OpenCV基础
`
*
说明:
*
每个技能树的每个难度等级有 n 个章节,目录前的序号是必要的,用来保持文件夹目录的顺序
*
每个目录下有一个
`config.json`
可配置关键词信息,其中
`node_id`
字段是生成的,请勿编辑
*
技能树
`知识节点`
:
*
位置:
`data/xxx/xxx/xxx`
,例如:
`data/1.
Java初阶/1.Java概述/1.什么是Java
`
*
位置:
`data/xxx/xxx/xxx`
,例如:
`data/1.
OpenCV初阶/1.OpenCV基础/1.OpenCV简介
`
*
说明:
*
每个技能树的每章有
`n`
个知识节点,目录前的序号是必要的,用来保持文件夹目录的顺序
*
每个目录下有一个
`config.json`
...
...
@@ -31,7 +31,7 @@
## `知识节点` 子树信息结构
例如
`data/1.
Java初阶/1.Java概述/1.什么是Java
/config.json`
里配置对该知识节点子树信息结构:
例如
`data/1.
OpenCV初阶/1.OpenCV基础/1.OpenCV简介
/config.json`
里配置对该知识节点子树信息结构:
```
json
{
//
...
...
...
@@ -46,13 +46,13 @@
## `知识节点` 的导出习题编辑
例如
`data/1.
Java初阶/1.Java概述/1.什么是Java
/config.json`
里配置对该知识节点导出的习题
例如
`data/1.
OpenCV初阶/1.OpenCV基础/1.OpenCV简介
/config.json`
里配置对该知识节点导出的习题
```
json
{
//
...
"export"
:
[
"
HellowW
orld.json"
"
hellow
orld.json"
]
}
```
...
...
@@ -63,73 +63,99 @@
目前我们支持使用 markdown 语法直接编辑习题和各选项。
如前文内容,我们在知识节点下增加习题
`
HelloWord`
的定义文件,即在
`data/1.Java初阶/1.Java概述/1.什么是Java`
目录增加一个
`HelloW
orld.json`
文件:
如前文内容,我们在知识节点下增加习题
`
helloworld`
的定义文件,即在
`data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介`
目录增加一个
`hellow
orld.json`
文件:
```
json
{
"type"
:
"code_options"
,
"author"
:
"
刘鑫
"
,
"source"
:
"
HelloW
orld.md"
,
"author"
:
"
幻灰龙
"
,
"source"
:
"
hellow
orld.md"
,
"notebook_enable"
:
true
}
```
其中 type 字段目前都固定是
`code_options`
,
notebook_enable 字段决定这个习题是否生成对应的 notebook 。根据具体情况写好其它字段,注意这里 source 的文件名,我们指定了一个 markdwon 文件。现在我们新建一个 HelloWorld.md
并编辑为:
其中 type 字段目前都固定是
`code_options`
,
`notebook_enable`
字段决定这个习题是否生成对应的
`notebook`
。根据具体情况写好其它字段,注意这里
`source`
的文件名,我们指定了一个 markdwon 文件。现在我们新建一个
`helloworld.md`
并编辑为:
````
markdown
# Hello World
以下
`Hello World`
程序中,能够正确输出内容的是:
以下
`Hello World`
程序中,能够正确执行下述操作的是?
1.
读取目录下
`lena`
图片
2.
显示
`lena`
图像窗口
3.
等待用户输入任意按键后关闭窗口
## 答案
```
java
```
cpp
#include <opencv2/opencv.hpp>
using
namespace
cv
;
public
class
App
{
public
static
void
main
(
String
[]
args
){
System
.
out
.
println
(
"Hello World"
);
}
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
imshow
(
"lena"
,
img
);
waitKey
(
0
);
destroyAllWindows
();
return
0
;
}
```
## 选项
###
不必要的返回值
###
没有显示图像
```
java
```
cpp
#include <opencv2/opencv.hpp>
using
namespace
cv
;
public
class
App
{
public
int
main
(){
System
.
out
.
printf
(
"Hello World"
);
return
0
;
}
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
waitKey
(
0
);
destroyAllWindows
()
;
return
0
;
}
```
###
没有引用 System.out
###
imshow参数顺序错误
```
java
```
cpp
#include <opencv2/opencv.hpp>
using
namespace
cv
;
public
class
App
{
public
static
void
main
(
String
[]
args
){
println
(
"Hello World"
);
}
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
imshow
(
img
,
"lena"
);
waitKey
(
0
);
destroyAllWindows
();
return
0
;
}
```
###
混合了 c 代码
###
忘记销毁窗口
```
java
import
stdout
```
cpp
#include <opencv2/opencv.hpp>
using
namespace
cv
;
public
class
App
{
public
int
main
(){
print
(
"Hello World\n"
);
return
0
;
}
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
imshow
(
"lena"
,
img
);
waitKey
(
0
)
;
return
0
;
}
```
### 没有等待用户输入按键
```
cpp
#include <opencv2/opencv.hpp>
using
namespace
cv
;
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
imshow
(
"lena"
,
img
);
destroyAllWindows
();
return
0
;
}
```
````
这是一个最基本的习题结构,它包含标题、答案、选项,注意这几个一级和二级标题必须填写正确,解释器会读取这几个标题。而选项的标题会被直接忽略掉,在
...
...
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/config.json
0 → 100644
浏览文件 @
347105ad
{
"keywords"
:
[
"什么是OpenCV"
],
"children"
:
[
{
"OpenCV的起源"
:
{
"keywords"
:
[
"OpenCV的起源"
],
"children"
:
[],
"node_id"
:
"opencv-626bf6e70ba04d18b1147571c08d85bc"
,
"title"
:
"OpenCV的起源"
}
}
],
"export"
:
[
"helloworld.json"
],
"node_id"
:
"opencv-77f629e4593845b0bf97e74ca8ec95ae"
,
"title"
:
"OpenCV简介"
}
\ No newline at end of file
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/helloworld.cpp
0 → 100644
浏览文件 @
347105ad
#include <opencv2/opencv.hpp>
using
namespace
cv
;
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
imshow
(
"lena"
,
img
);
waitKey
(
0
);
destroyAllWindows
();
return
0
;
}
\ No newline at end of file
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/helloworld.json
0 → 100644
浏览文件 @
347105ad
{
"type"
:
"code_options"
,
"author"
:
"幻灰龙"
,
"source"
:
"helloworld.md"
,
"notebook_enable"
:
true
,
"exercise_id"
:
"23ad9cfa3e8847b6aedba72882b65a74"
}
\ No newline at end of file
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/helloworld.md
0 → 100644
浏览文件 @
347105ad
# Hello World
以下
`Hello World`
程序中,能够正确执行下述操作的是?
1.
读取目录下
`lena`
图片
2.
显示
`lena`
图像窗口
3.
等待用户输入任意按键后关闭窗口
## 答案
```
cpp
#include <opencv2/opencv.hpp>
using
namespace
cv
;
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
imshow
(
"lena"
,
img
);
waitKey
(
0
);
destroyAllWindows
();
return
0
;
}
```
## 选项
### 没有显示图像
```
cpp
#include <opencv2/opencv.hpp>
using
namespace
cv
;
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
waitKey
(
0
);
destroyAllWindows
();
return
0
;
}
```
### imshow参数顺序错误
```
cpp
#include <opencv2/opencv.hpp>
using
namespace
cv
;
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
imshow
(
img
,
"lena"
);
waitKey
(
0
);
destroyAllWindows
();
return
0
;
}
```
### 忘记销毁窗口
```
cpp
#include <opencv2/opencv.hpp>
using
namespace
cv
;
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
imshow
(
"lena"
,
img
);
waitKey
(
0
);
return
0
;
}
```
### 没有等待用户输入按键
```
cpp
#include <opencv2/opencv.hpp>
using
namespace
cv
;
int
main
()
{
Mat
img
=
imread
(
"lena.png"
);
imshow
(
"lena"
,
img
);
destroyAllWindows
();
return
0
;
}
```
\ No newline at end of file
data/1.OpenCV初阶/1.OpenCV基础/1.OpenCV简介/lena.png
0 → 100644
浏览文件 @
347105ad
578.7 KB
data/1.OpenCV初阶/1.OpenCV基础/2.OpenCV安装/config.json
0 → 100644
浏览文件 @
347105ad
{
"keywords"
:
[],
"children"
:
[],
"export"
:
[],
"node_id"
:
"opencv-662dbd65c89d4ddb9e392f44ffe16e1a"
,
"title"
:
"OpenCV安装"
}
\ No newline at end of file
data/1.OpenCV初阶/1.OpenCV基础/config.json
0 → 100644
浏览文件 @
347105ad
{
"keywords"
:
[],
"node_id"
:
"opencv-f7ecf411195447b3897ff2324f7aa11b"
,
"title"
:
"OpenCV基础"
}
\ No newline at end of file
data/3.OpenCV高阶/config.json
浏览文件 @
347105ad
{
"export"
:
[],
"keywords"
:
[],
"node_id"
:
"opencv-f27da6fd72924d1fbd05c6aff0fed4b7"
,
"title"
:
"OpenCV高阶"
...
...
data/tree.json
浏览文件 @
347105ad
...
...
@@ -7,7 +7,43 @@
"OpenCV初阶"
:
{
"node_id"
:
"opencv-b943de85e3ad494885f0b4b529053c5a"
,
"keywords"
:
[],
"children"
:
[]
"children"
:
[
{
"OpenCV基础"
:
{
"node_id"
:
"opencv-f7ecf411195447b3897ff2324f7aa11b"
,
"keywords"
:
[],
"children"
:
[
{
"OpenCV简介"
:
{
"node_id"
:
"opencv-77f629e4593845b0bf97e74ca8ec95ae"
,
"keywords"
:
[
"什么是OpenCV"
],
"children"
:
[
{
"OpenCV的起源"
:
{
"keywords"
:
[
"OpenCV的起源"
],
"children"
:
[],
"node_id"
:
"opencv-626bf6e70ba04d18b1147571c08d85bc"
,
"title"
:
"OpenCV的起源"
}
}
]
}
},
{
"OpenCV安装"
:
{
"node_id"
:
"opencv-662dbd65c89d4ddb9e392f44ffe16e1a"
,
"keywords"
:
[],
"children"
:
[]
}
}
]
}
}
]
}
},
{
...
...
src/__pycache__/tree.cpython-38.pyc
0 → 100644
浏览文件 @
347105ad
文件已添加
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录