Visual Studio 2013中配置OpenCV图文教程
前提条件
在开始配置前,需要确认以下条件已满足:
- 已经安装了Visual Studio 2013,且安装的版本为Professional或以上(Community版本不支持使用OpenCV);
- 已经下载并安装了OpenCV 2.4.9 或以上的版本。
安装配置过程
步骤一:新建项目
首先,我们需要在Visual Studio中新建一个项目。在新建项目的对话框中,选择Visual C++,然后选择Win32控制台应用程序,并命名为ProjectName(可以根据实际情况自行命名)。然后,按照默认设置,勾选“空项目”(Empty project),并点击“确定”。
步骤二:配置附加包含目录
点击“项目”菜单,选择“ProjectName属性”(其中ProjectName为你之前设置的项目名称)。然后在属性窗口中,选择“VC++目录”下的“包含目录”,单击编辑,添加OpenCV头文件的目录(例如D:\OPENCV2\build\include),并单击“确定”保存。
步骤三:配置附加库目录和链接器库
同样在之前的属性窗口中,选择“VC++目录”下的“库目录”,单击编辑,添加OpenCV库文件的目录(例如D:\OPENCV2\build\x86\vc12\lib)。然后选择“链接器”下的“输入”,单击“附加依赖项”,添加OpenCV的库文件(例如opencv_core249d.lib;opencv_highgui249d.lib)。
步骤四:编写示例代码并测试
在项目中新建.cpp文件,输入以下内容:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat img = imread("test.jpg");
if (img.empty())
{
cout << "Could not open or find image" << endl;
return -1;
}
namedWindow("test");
imshow("test", img);
waitKey(0);
return 0;
}
其中,imread函数用于读取名为test.jpg的图片,如果图片不存在,则会输出错误信息。然后,使用namedWindow函数创建一个主窗口,使用imshow函数显示图片,并使用waitKey函数等待用户按键。
进行编译时,需要选择“Release”方式编译,即“生成”->“生成解决方案”,或使用快捷键“Ctrl + Shift + B”。编译成功后,可以在Debug或者Release目录下找到生成的可执行文件,运行后即可显示测试图片。
示例说明
示例一:检测并识别人脸
使用OpenCV的人脸检测功能,先使用级联分类器对象对图像进行分类,然后再在图像中对人脸进行检测。
以下是示例代码:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
CascadeClassifier cascade;
if (!cascade.load("haarcascade_frontalface_alt.xml"))
{
cout << "could not read classifer file" << endl;
return -1;
}
Mat img = imread("test.jpg");
if (img.empty())
{
cout<<"could not read image file"<<endl;
return -1;
}
vector<Rect> faces;
cascade.detectMultiScale(img, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30));
for (size_t i = 0; i < faces.size(); i++)
{
rectangle(img, faces[i], Scalar(255, 0, 0), 2, 8, 0);
}
imshow("test", img);
waitKey(0);
return 0;
}
该程序加载了OpenCV预先训练好的人脸分类器文件“haarcascade_frontalface_alt.xml”,并将其应用于输入的图像。然后根据检测到的人脸位置绘制矩形框。
示例二:图像降噪
在图像处理中,降噪是一个常见的需求。OpenCV提供了不同的降噪方法来应对不同的问题。以下示例代码使用中值滤波器进行图像降噪:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat img = imread("test.jpg");
if (img.empty())
{
cout<<"could not read image file"<<endl;
return -1;
}
Mat blurred;
medianBlur(img, blurred, 5);
imshow("original", img);
imshow("blurred", blurred);
waitKey(0);
return 0;
}
该程序加载名为test.jpg的原始图像,然后使用medianBlur函数进行降噪。通过调整参数,可以调整滤波器的尺寸。最后,程序将原始图像和降噪后的图像同时显示出来,方便观察区别。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:visual studio 2013中配置opencv图文教程 Opencv2.4.9安装配置教程 - Python技术站