1 下载opencv
官网链接:https://opencv.org/releases/
我下载的版本是4.5.2
2 添加环境变量
将opencv中的bin文件路径添加到环境变量中,如:
D:\c++_opencv\opencv\build\x64\vc15\bin
3 下载visual studio
官网链接:https://visualstudio.microsoft.com/zh-hans/free-developer-offers/
4 添加新项目属性表
(1)打开visual studio;(2)在上方工具栏中选择:视图->其他窗口->属性管理器;
![](https://i-blog.csdnimg.cn/blog_migrate/c1081ee1bb22b98ec810af5b021b1c9d.png)
(3)右键“Debug | x64”,选择“添加新项目属性表”,填写属性表名称;
![](https://i-blog.csdnimg.cn/blog_migrate/2e816fea0e927805008394a1b8397c9d.png)
5 配置新项目属性表
右键刚刚新建的项目属性表,选择“属性”。选择“通用属性”中的“VC++ 目录”,修改“包含目录”,添加目录“D:\c++_opencv\opencv\build\include\opencv2”、“D:\c++_opencv\opencv\build\include”,
![](https://i-blog.csdnimg.cn/blog_migrate/f1f85bccb31ac2c7d5b033d97d1d0c60.png)
修改“库目录”,添加目录“D:\c++_opencv\opencv\build\x64\vc15\lib”,
![](https://i-blog.csdnimg.cn/blog_migrate/604cf046019c1206d8ccdbf93fad2f70.png)
选择“通用属性”中的“链接器”,选择“常规”,修改“附加库目录”,添加“D:\c++_opencv\opencv\build\x64\vc15\lib”,
![](https://i-blog.csdnimg.cn/blog_migrate/bf70bd2df0f6006a52db2822cbba0f5e.png)
点击“链接器”中的“输入”,修改“附加依赖项”,填写“opencv_world452d.lib”(不同opencv版本的文件名称不一样),该文件在“D:\c++_opencv\opencv\build\x64\vc15\lib”里面,注意别填错了,“xxx.lib”文件是用于release的,“xxxd.lib”才是用于debug的,
![](https://i-blog.csdnimg.cn/blog_migrate/dbadb98b02a45ec4ff2bf9014d38da1b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b4dc093c5081f4de9290d0e033ad4a10.png)
保存以上修改。
6 测试
演示代码:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
class QuickDemo
{
public:
void bitwise_demo(Mat &image);
};
void QuickDemo::bitwise_demo(Mat &image)
{
Mat m1 = Mat::zeros(Size(256, 256), CV_8UC3);
Mat m2 = Mat::zeros(Size(256, 256), CV_8UC3);
rectangle(m1, Rect(100, 100, 80, 80), Scalar(255, 255, 0), -1, LINE_8, 0); // 小于0表示填充,大于0表示绘制
rectangle(m2, Rect(150, 150, 80, 80), Scalar(0, 255, 255), -1, LINE_8, 0);
imshow("m1", m1);
imshow("m2", m2);
Mat dst;
bitwise_and(m1, m2, dst); // 位操作与
bitwise_or(m1, m2, dst); // 位操作或
bitwise_not(image, dst); // 取反操作
bitwise_xor(m1, m2, dst); // 异或操作
imshow("bit operators", dst);
}
int main()
{
Mat image = imread("D:\\c++_opencv\\images\\0--Parade_0_Parade_marchingband_1_20.jpg", IMREAD_ANYCOLOR);
if (image.empty())
{
printf("could not load image");
return -1;
}
QuickDemo qd;
qd.bitwise_demo(image);
waitKey(0);
destroyAllWindows();
return 0;
}
调式时,解决方案配置选择“debug”,解决方案平台选择“x64”,
调试结果:
![](https://i-blog.csdnimg.cn/blog_migrate/3007b3cebf16c8b7d64c7d2403b9aa70.png)