关于opencv 的一些...


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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: OpenCVSharp.ML是一个面向机器学习的OpenCVSharp扩展库。它提供了基于OpenCV的机器学习算法的封装和实现,包括支持向量机、K近邻、决策树、随机森林、Adaboost等算法。 OpenCVSharp.ML利用了OpenCV的强大功能和性能优势,并提供了易用的C#接口,使得用户可以方便地构建和训练机器学习模型,用于图像分类、目标检测、特征提取、数据聚类等任务。同时,OpenCVSharp.ML还支持使用自定义的特征提取函数和分类器,提高了扩展性和适用性。 尽管OpenCVSharp.ML主要是为视觉任务而设计的,但它也可以用于其他领域的机器学习任务。由于OpenCVSharp.ML与OpenCV一样,均为开源软件,用户可以从源代码中学习和了解算法和实现细节,也可以根据自己的需求进行自由的修改和扩展。 总之,OpenCVSharp.ML提供了强大和易用的OpenCV机器学习功能,为C#开发者提供了更便捷和高效的机器学习解决方案。它可以帮助用户快速构建和训练机器学习模型,实现各种视觉和数据处理任务。 ### 回答2: OpenCvSharp.ML是一个基于OpenCV的机器学习库,它可以用于图像分类、目标检测、人脸识别等领域。它提供了许多常见的机器学习算法,例如支持向量机、随机森林、朴素贝叶斯、K均值等等。此外,它还提供了各种特征提取工具,包括梯度方向直方图、Haar-like特征、SIFT和SURF特征等等。 OpenCvSharp.ML是一种高效、易于使用的工具,可以轻松地应用于各种计算机视觉领域的研究和开发中。由于它的设计和实现,它具有高性能、可扩展性和易于集成的特点,能够满足不同任务和场景的需求。OpenCvSharp.ML一直被广泛应用于多种数据科学和计算机视觉项目中,包括医学图像处理、自动驾驶、机器人导航、视频监控等多个领域。 ### 回答3: Opencvsharp.ml是一个基于OpenCV的机器学习库,它提供了各种常见的机器学习算法,如支持向量机、最近邻算法和神经网络等。Opencvsharp.ml可以让用户快速轻松地完成各种机器学习任务。它还提供了一个易于使用的API,可以方便地调用不同的机器学习算法。此外,Opencvsharp.ml可以完成分类、回归、聚类等各种任务,甚至可以进行图像分类和物体识别等计算机视觉任务。由于它是基于OpenCV的,因此它还可以轻松地与OpenCV图像处理库和其他OpenCV工具集成使用。总之,Opencvsharp.ml是一款功能强大、易于使用的机器学习库,它可以使机器学习任务更加高效、方便和准确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值