1、首先要熟悉openCV安装目录,例如我的安装目录是F:\program files\opencv2.3.1。在这个目录下面还有很多子目录:3rdparty、android、build,data、doc、include、modules、samples和很多cmake文件。对于编程来说,仅仅需要build这一个文件夹就可以了,因为编程环境的配置只与这一个目录有关,如:包含目录配置、库目录配置,具体可以参考http://www.opencv.org.cn/index.php/VC_2008_Express下安装OpenCV2.3.1。build目录是编译生成的目录,就是用openCV源代码编译生成的2进制库文件集(dll、lib和入口头文件include)。以下是文档组织结构截图:
2、那其他文件夹下的文件都是干嘛用的呢?其实源代码就包含在这些文件夹下面,因为build文件夹就是在其他文件夹的基础上CMake编译生成的。(可以参考CMake编译部分http://www.opencv.org.cn/index.php/VC_2008_Express下安装OpenCV2.3.1)大部分源代码放在modules文件夹下(如下截图)
例如,core文件夹下就包含了基本数据类型的定义,imgproc文件夹下包含了常用的数字图像处理函数源代码:如cvCanny()、cvSobel()。
3、用CMake导出opencv 源码,生成VC++项目,然后用vs打开工程,去里面搜索整个工程
Go语言由Google公司开发,并于2009年开源,相比Java/Python/C等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python,被誉为“21世纪的C语言”。Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛。BAT大厂正在把Go作为新项目开发的首选语言。
Go语言应用范围:
1、服务端开发:以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等
2、DevOps:运维生态中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go语言开发
3、网络编程:大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的 net/http包十分的优秀
4、Paas云平台领域:Kubernetes和Docker Swarm等
5、分布式存储领域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等
6、区块链领域:区块链里面有两个明星项目以太坊和fabric都使用Go语言
7、容器虚拟化:大名鼎鼎的Docker就是使用Go语言实现的
8、爬虫及大数据:Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理。
1.新建一个Command Line 工程,名为TestOpencv2.设置Build Settings
点击工程目录,然后点击右侧的Build Settings
在搜索框中输入 search ,找到Search Paths
在Header Search Paths 中加入/usr/local/include
在Library Search Paths 中加入/usr/local/lib
3.添加动态链接库
按下’/’ 键
点击Go
选择所有的.dylib文件(不带箭头的)
4.测试
测试代码
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv
int main()
{
Mat image
image = imread("/Users/camellia/desktop/lena.jpg")// 测试图片路径
if ( !image.data )
{
printf("No image data \n")
return -1
}
namedWindow("Display Image", WINDOW_AUTOSIZE )
imshow("Display Image", image)
waitKey(0)
return 0
}