美文网首页
OpenCV基本介绍及入门程序

OpenCV基本介绍及入门程序

作者: zjut_yc | 来源:发表于2018-11-17 01:21 被阅读14次

版权说明:本文系博主个人劳动所得,转载请注明出处!2018-11-17
文章说明:仅仅是个入门版,仅供参考。
OpenCV是一个开源的计算机视觉和机器学习软件库。OpenCV主要为开发计算机视觉程序提供一组公共的底层结构(infrastructure)和加强商业产品中机器的感知能力。OpenCV使用BSD许可证(具体可参见维基百科对于BSD许可证的介绍),它可以被商用并可以修改源代码。

OpenCV库有超过2500个已优化的算法,既包含了经典的也包含了最先进(state-of-the-art)的计算机视觉和机器学习算法。这些算法可以被用来检测和识别人脸,跟踪移动的物体,提取物体的三维模型,从立体相机中产生3D point clouds,可以将图片拼接来生成一张高解析度(resolution)的全景图像,从图像数据库中找到相似性的图像等等等等。OpenCV已经有超过4万7千的用户群体,并且估计下载数量超过1400万。

使用OpenCV的公司有谷歌、雅虎、微软、IBM、索尼、本田、丰田等。使用OpenCV的项目有拼接街景图片,在监控中检测侵扰(一个以色列项目),监视采矿设备(一个中国项目),帮助机器人导航和捡东西(Willow Garage 一个实验室项目),检测游泳池溺水事件(一个欧洲项目)......

OpenCV有C++、Java、Python和Matlab四个版本,支持Windows、Linux、Android和MacOS平台。OpenCV主要倾向于实时的视觉应用程序,当MMX和SSE(MMX和SSE是因特尔开发的单指令多数据流指令集,后者是前者的扩展,具体不展开,有兴趣可自查)可用的时候OpenCV能够很好的去使用这两者的特性。一个全功能(full-feature)的CUDA和OpenCL接口已被开发,有超过500个算法和大约10倍支持这些算法的组建或支持。OpenCV用native C++开发,支持模板,可与STL容器无缝对接。

当下最新的版本是OpenCV 4.0 Release Candidate版本。一个简单的入门代码(图像的读取和显示)如下:

#include"opencv/cv.h"

#include"opencv2/opencv.hpp"

using namespace cv;

//2018-11-17 01:09

//1.打开图片对象显示,设置显示窗为图像大小

//2.将BGR图像转化为灰度图显示,设置显示窗为正方形,大小系统自己指定

int main(){

  Mat img = imread("素材/opencv测试图.jpg", IMREAD_COLOR);

  namedWindow("显示窗", WINDOW_AUTOSIZE);//窗口自动适应图像大小

  imshow("显示窗",img);

  cvWaitKey(0);


  Mat imgGray;

  cvtColor(img, imgGray, COLOR_BGRA2GRAY);

  namedWindow("灰度图", WINDOW_NORMAL);//窗口自适应为矩形框

  imshow("灰度图", imgGray);

  cvWaitKey(0);

  system("pause");

  return 0;

}

程序运行效果图:


1.PNG 2.PNG

相关文章

网友评论

      本文标题:OpenCV基本介绍及入门程序

      本文链接:https://www.haomeiwen.com/subject/pntbfqtx.html