当前位置: 首页 > news >正文

乐清做网站公司哪家好微信下载安装2024最新版

乐清做网站公司哪家好,微信下载安装2024最新版,做全球视频网站赚钱吗,m8+wordpress主题这里写目录标题 1. 步骤1.1 导入OpenCV库:1.2 加载图像1.3 提取特征1.4 匹配特征1.5 显示结果 2. 完整代码3. 测试图片及效果 1. 步骤 1.1 导入OpenCV库: 在您的C代码中,首先需要导入OpenCV库。您可以使用以下语句导入核心模块:…

这里写目录标题

  • 1. 步骤
    • 1.1 导入OpenCV库:
    • 1.2 加载图像
    • 1.3 提取特征
    • 1.4 匹配特征
    • 1.5 显示结果
  • 2. 完整代码
  • 3. 测试图片及效果

1. 步骤

1.1 导入OpenCV库:

在您的C++代码中,首先需要导入OpenCV库。您可以使用以下语句导入核心模块:

#include <opencv2/core/core.hpp>

1.2 加载图像

使用OpenCV的 imread 函数加载要搜索的图像和目标图像。例如,假设您要搜索的图像是"search_image.jpg",目标图像是"target_image.jpg",您可以使用以下代码加载它们:
cpp

cv::Mat searchImage = cv::imread("search_image.jpg");
cv::Mat targetImage = cv::imread("target_image.jpg");

1.3 提取特征

使用OpenCV的特征提取方法(如SIFT、SURF或ORB)从目标图像中提取特征。例如,使用SIFT算法可以提取特征,您可以使用以下代码:

cv::Ptr<cv::SIFT> sift = cv::SIFT::create();
cv::Mat targetDescriptors;
std::vector<cv::KeyPoint> targetKeypoints;
sift->detectAndCompute(targetImage, cv::noArray(), targetKeypoints, targetDescriptors);

1.4 匹配特征

使用提取的特征在搜索图像中寻找匹配。您可以使用OpenCV的特征匹配方法(如FLANN或Brute-Force)进行匹配。以下是一个使用Brute-Force匹配器的示例:

cv::Ptr<cv::DescriptorMatcher> matcher = cv::DescriptorMatcher::create(cv::DescriptorMatcher::BRUTEFORCE);
std::vector<cv::DMatch> matches;
matcher->match(searchDescriptors, targetDescriptors, matches);

1.5 显示结果

根据匹配结果,您可以选择在搜索图像上绘制匹配的关键点或边界框。以下是一个简单的示例,用于在搜索图像上绘制匹配的关键点:

cv::Mat outputImage;
cv::drawMatches(searchImage, searchKeypoints, targetImage, targetKeypoints, matches, outputImage);
cv::imshow("Matches", outputImage);
cv::waitKey(0);

2. 完整代码

#include <opencv2/core/core.hpp>int search_pic_by_pic()
{// 加载查询图像和目标图像cv::Mat queryImage = cv::imread("E:\\code\\Yolov5_Tensorrt_Win10-master\\pictures\\search_pic_by_pic\\1.png");cv::Mat targetImage = cv::imread("E:\\code\\Yolov5_Tensorrt_Win10-master\\pictures\\search_pic_by_pic\\2.png");// 特征提取cv::Ptr<cv::Feature2D> featureExtractor = cv::SIFT::create();cv::Mat queryDescriptors, targetDescriptors;std::vector<cv::KeyPoint> queryKeypoints, targetKeypoints;featureExtractor->detectAndCompute(queryImage, cv::noArray(), queryKeypoints, queryDescriptors);featureExtractor->detectAndCompute(targetImage, cv::noArray(), targetKeypoints, targetDescriptors);// 特征匹配cv::Ptr<cv::DescriptorMatcher> matcher = cv::DescriptorMatcher::create(cv::DescriptorMatcher::FLANNBASED);std::vector<cv::DMatch> matches;matcher->match(queryDescriptors, targetDescriptors, matches);// 根据匹配结果进行排序std::sort(matches.begin(), matches.end(), [](const cv::DMatch& a, const cv::DMatch& b) {return a.distance < b.distance;});float threshold = 200.0;int numMatches = 0;int matches_size = matches.size();vector< cv::DMatch>::iterator it = matches.begin();for (it; it != matches.end();) {if (it->distance < threshold) {numMatches++;it++;}else {it = matches.erase(it);}}float matchRate = static_cast<float>(numMatches) / matches_size * 100.0;std::cout << "Match Rate: " << matchRate << "%" << std::endl;// 显示匹配结果cv::Mat matchedImage;cv::drawMatches(queryImage, queryKeypoints, targetImage, targetKeypoints, matches, matchedImage);cv::imshow("Matched Image", matchedImage);cv::waitKey(0);return 0;
}int main()
{search_pic_by_pic();return 0;
}

3. 测试图片及效果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

http://www.yayakq.cn/news/60655/

相关文章:

  • 西乡做网站的公司番禺网站建设策划
  • 网站出错 图片wordpress首页不显示文章
  • 新上线网站如何做搜索引擎今晚12点上海又要封控了吗
  • 网站被k 原因公众号自己做电影网站吗
  • 中山小型网站建设公司潜江资讯网招聘临时工
  • 常熟做网站多少钱按国外互联网裁员
  • 网站是否wordpress营销外包网站
  • 天津哪里能做网站免费学校网站建设
  • 大学网站建设论文通信管理局网站 备案
  • 河源正规网站建设价格河池市网站建设
  • 电子商务网站系统的开发设计wordpress如何正常打开二级菜单
  • 我是做网站怎么赚钱吗如何避免网站被降权
  • 上海网站建设公司哪家好?国家信用信息公示系统河北
  • 网站调试东莞市专注网站建设公司
  • 摄影网站的实验设计方案代驾平台
  • 文库网站开发wordpress置顶文章 调用
  • 商业类网站的设计与制作格格导航官网
  • 品牌推广策略怎么写洛阳seo
  • 网站开发工作室营业执照dede地方门户网站模板
  • 网站建设中怎么编辑图片网络工程解决方案公司
  • 外贸零售网站建设电子商务营销策略有哪些
  • 在线做ppt的网站南通长城建设集团有限公司网站
  • 在线制作论坛网站水车头采集wordpress内容
  • 顺义手机网站设计四川网站建设scyiyou
  • 详情页设计模板网站怎么开发软件挣钱
  • 网站地图怎么做网站建设电脑维修数据恢复
  • 无锡网站建设服务网站后台上传文章
  • 北京国际建设集团网站wordpress 怎么手动更新
  • 如何用dw制作网页框架哈尔滨网站建设优化
  • 响应式网站多少钱网站建设研究背景