随着人工智能的潮流,我一直想入行人工智能开发。人工智能太广泛,所以得选择一个应用方向。之前做了四年的C#开发,接触过海康的视频处理,光纤振动信号处理等项目,所以我选择图像领域,很多理念,算法很熟悉。因缘巧合,2018年初找到了一份新工作,主要是做机器视觉解决方案,我主要负责C#和康耐视的混合开发,由此有了学习计算机视觉的契机。学习计算机视觉,则不得不提到opencv。OpenCV是一个跨平台计算机视觉库,基础学习完后,你可以继续进一步深入机器学习,深度学习。为了方便学习记录,我开始写博客,希望能坚持下去。
现在开始正文,第一课当然是运行OpenCV。
首先配置,开发环境,请参考:
https://blog.csdn.net/sinat_36264666/article/details/73135823?ref=myread
我用的是 opencv 3.3 + visual studio 2017
1.从本地获取图片
方案一:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
#include "highgui.h"
int main( int argc,char** argv)
{
Mat image = imread(“C:\\ Users \\ love \\ Pictures \\ 11.jpg”);
//读取指定路径图片
namedWindow( “显示图像”,CV_WINDOW_NORMAL);
//创建窗口,图片自适应大小
imshow(“显示图像”,图像);
//显示图像
resizeWindow( “显示图像”,500500);
//窗口大小重新定义
waitKey(0);
}
方案二:
IplImage * img = cvLoadImage(“C:\\ Users \\ love \\ Pictures \\ 11.jpg”);
cvNamedWindow( “显示图像”,CV_WINDOW_NORMAL);
cvShowImage( “显示图像”,IMG);
cvWaitKey(0);
cvReleaseImage(IMG);
cvDestroyWindow( “显示图像”);
2.从笔记本摄像头获取图像
Mat frame;
while (1)
{
captue >> frame;
imshow("我的摄像头", frame);
waitKey(30);
}
return 0;
3.从网络摄像头获取图像
家里缺少网络摄像头,有机会借用试下,会在git上更新代码。
源码下载:
https://gitee.com/350958226/opencv_test.git
中的image_read 项目
下一个文章会测试视频的读取,录制保存。至于有些字段的含义,会到后面的文章单独学习。