Ubuntu系统基本使用
Ubuntu支持图形界面,但对于开发者来说建议使用命令行
a)许多嵌入式Linux系统只支持命令行
b)命令行更节省系统资源
c)命令行效率更高
1)打开一个命令行终端
Ctrl + Alt + t
2)关闭一个命令行终端
exit
3)调整终端字体
Ctrl + Shift + +
Ctrl + -
4)查看当前绝对路径
pwd
5)查看当前目录下的文件
ls
ls -l 以列表的方式查看当前目录下的文件
ls -a 查看当前目录下的所有文件
注1:Linux下以“.”开头的文件都是隐藏文件
注2:Linux下不同的颜色表示不同的文件类型
蓝色 目录
白色 普通文件
绿色 可执行文件
红色 压缩文件
6)清除终端
命令: clear
快捷键:Ctrl + l
7)打开一个目录
cd + 目录名
根目录:
所有目录的根
使用“/”表示
比如:cd /
家目录:
系统分配给每个用户的私有空间,在/home下以用户名命名
使用“~”表示
比如:cd ~
上一级目录:
使用“..”表示
比如:cd ..
上一次目录:
使用“-”表示
比如:cd -
8)以超级用户的身份执行命令
sudo + 命令
9)创建普通文件
touch + 文件名
10)创建目录文件
mkdir + 目录名
11)删除普通文件
rm + 文件名
12)删除目录文件
rm -r + 目录名
13)使用技巧
自动补齐:
当输入的部分字符可以确定某个文件名或命令名时可通过“Tab”键自动补齐
历史命令:
Linux会按照输入顺序自动记录历史命令,我们可通过方向键来翻出历史命令
通配符:
用一个符号来表示一类属性的文件,比如“*”表示所有文件
帮助文档:
man 1 + 命令 查看命令的使用手册
man 2 + 系统调用 查看系统调用的使用手册
man 3 + 库函数 查看库函数的使用手册
... ...
14)网络配置
校园网:
“虚拟机” -> “设置” -> “网络适配器” -> “网络连接” -> “NAT模式” -> “确定”
网线、路由、热点:
“虚拟机” -> “设置” -> “网络适配器” -> “网络连接” ->“桥接模式” -> “确定”
设置完成后测试是否能访问外网:
ping www.baidu.com
15)查看已安装的软件列表
dpkg -l
16)查看某个软件的安装状态
dpkg -s + 软件名
17)安装一个软件
dpkg -i + 软件名
18)卸载一个软件
dpkg -r + 软件名
19)安装一个软件(因为是在线安装,所以要保证能够Ubuntu上网)
sudo apt-get install + 软件名
20)卸载一个软件
sudo apt-get remove + 软件名
C/C++
1)C++和C
C++是在C的基础上增加了一些语法和面向对象的思想
2)C++设计步骤
编辑 -> 编译 -> 执行 -> 编辑 ...
3)C++源文件
C++源文件后缀为.cpp
C++头文件后缀一般为.hpp
4)C++程序结构
//头文件
#include <iostream>
//命名空间
using namespace std;
//主函数
int main()
{
//打印
cout << "Hello World" << endl;
//结束函数
return 0;
}
5)C++编译
g++ 源文件名 -o 可执行文件名
如:g++ main.cpp -o main
6)C++程序的执行
./可执行文件名
比如:./main
7)C++程序的调试
编译器在编译程序时会检查语法错误并指出错误的位置及原因
OpenCV
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,
可以运行在Linux、Windows、Android和MacOS操作系统上。
它轻量级而且高效,由一系列C函数和少量C++类构成,同时提供了Python等语言
的接口,实现了图像处理和计算机视觉方面的很多通用算法。
1)安装OpenCV:
sudo apt-get install libopencv-dev
2)查看安装状态及版本
dpkg -s libopencv-dev
3)在线帮助文档
https://opencv.org/
4)本地帮助文档
a)解压2.4.9
b)使用浏览器打开index文件
百度智能云
1)登录:
“产品” -> “人工智能” -> “人脸识别云服务” -> “人脸搜索” -> “立即使用” -> “登录”(百度账号即可)
2)人脸搜索:
给定一张照片,对比人脸库中N张人脸,进行1:N检索,找出最相似的一张或多张人脸,并返回相似度分数
3)应用:
“创建应用” ->
应用名称:随意填写
接口选择:保持默认
应用归属:个人
应用描述:随意填写
“立即创建” -> “返回应用列表”
“查看人脸库” -> “新建组” ->
组ID:随意填写
“确认”
单击组名 -> “新建用户” ->
用户ID:可以填写姓名、学号 ...
点此添加图片:上传对应的人脸照片
“确认”
... ...
4)实名认证
SDK
软件开发工具包一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
“管理应用” -> “技术文档” -> “SDK文档” -> “REST-API-SDK” -> "C++ SDK"
1、安装人脸识别C++ SDK:
人脸识别 C++ SDK目录结构:
├── base
│ ├── base.h // 请求客户端基类
│ ├── base64.h // base64加密相关类
│ ├── http.h // http请求封装类
│ └── utils.h // 工具类
└── face.h // 人脸识别 交互类
1)在官方网站下载C++ SDK压缩包。
https://ai.baidu.com/sdk
“人脸识别” -> “C++ HTTP SDK” -> “下载”
2)将下载的aip-cpp-sdk-version.zip解压,其中文件为包含实现代码的头文件。
将aip-cpp-sdk-0.8.1.zip解压,然后将解压后的目录拷贝到Ubuntu中(拖拽即可)
3)安装依赖库libcurl(需要支持https)openssl、jsoncpp(>1.6.2版本,0.x版本将不被支持)。
安装libcurl:
sudo apt-get install libcurl-dev
sudo apt-get install libcurl4-openssl-dev
查看安装状态:
dpkg -s libcurl4-openssl-dev
安装openssl:
sudo apt-get install openssl
查看安装状态:
dpkg -s openssl
sudo apt-get install libssl-dev
查看安装状态:
dpkg -s libssl-dev
安装jsoncpp:
sudo apt-get install libjsoncpp-dev
查看安装状态:
dpkg -s libjsoncpp-dev
4)编译工程时添加C++11支持(gcc/clang添加编译参数-std=c++11),添加第三方库链接参数 lcurl, lcrypto, ljsoncpp。
a)将我们写的代码放入SDK目录中(aip-cpp-sdk-0.8.1)
b)因为SDK程序中调用了依赖库中的方法,所以编译程序时应链接对应的库
g++ main.cpp -o main -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_objdetect -lcurl -lcrypto -ljsoncpp -std=c++11
5)在源码中include face.h,引入压缩包中的头文件以使用aip命名空间下的类和方法。
a)在我们写的代码中引入SDK的头文件
#include "face.h"
b)在我们写的代码中使用SDK的命名空间
using namespace aip;
注:因为SDK源码中引用的libjsoncpp-dev库中的头文件路径与实际安装不符,所以我们需要修改SDK源码
打开aip-cpp-sdk-0.8.1/base目录下的bash.h文件
将
#include "json/json.h"
修改为
#include "jsoncpp/json/json.h"
打开aip-cpp-sdk-0.8.1/base目录下的http.h文件
将
#include <json/json.h>
修改为
#include <jsoncpp/json/json.h>
2、新建client
client是人脸识别的C++客户端,为使用人脸识别的开发人员提供了一系列的交互方法。当您引入了相应头文件后就可以新建一个client对象。
用户可以参考如下代码新建一个client:
#include "face.h"
// 设置APPID/AK/SK
//std::string app_id = "你的 App ID";
//std::string api_key = "你的 API key";
//std::string secret_key = "你的 Secret Key";
//aip::Face client(app_id, api_key, secret_key);
06-24
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交