用c++代码写一个基于opencv 的标志与检测的代码
时间: 2023-03-14 22:08:40 浏览: 172
很好的opencv测试代码
5星 · 资源好评率100%
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std; int main(int argc, char** argv)
{
// 用于检测图像中的标志
Mat image = imread("input.jpg");
Mat gray; // 将图像转换为灰度图像
cvtColor(image, gray, COLOR_BGR2GRAY); // 定义检测模板
Mat template = imread("template.jpg", 0); // 使用matchTemplate函数进行模板匹配
Mat result;
matchTemplate(gray, template, result, TM_CCOEFF); // 计算结果的最大值和最小值
double minVal; double maxVal;
Point minLoc; Point maxLoc;
minMaxLoc(result, &minVal, &maxVal, &minLoc, &maxLoc); // 根据最大值绘制矩形
rectangle(image, maxLoc, Point(maxLoc.x + template.cols, maxLoc.y + template.rows), Scalar(0, 255, 0), 2); // 显示结果
imshow("result", image);
waitKey(0);
return 0;
}
阅读全文