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

深圳苏州旅游网站建设服务个人主页格式

深圳苏州旅游网站建设服务,个人主页格式,建设网站一般多钱,保定外贸网站制作利用图像特征的keypoints和descriptor来实现图像的匹配与定位。图像匹配算法主要有暴力匹配和FLANN匹配,而图像定位是通过图像匹配结果来反向查询它们在目标图片中的具体坐标位置。 以QQ登录界面为例,将整个QQ登录界面保存为QQ.png文件,QQ登…

利用图像特征的keypoints和descriptor来实现图像的匹配与定位。图像匹配算法主要有暴力匹配和FLANN匹配,而图像定位是通过图像匹配结果来反向查询它们在目标图片中的具体坐标位置。

以QQ登录界面为例,将整个QQ登录界面保存为QQ.png文件,QQ登录界面是在计算机的1920×1080分辨率下截图保存的;再把计算机的分辨率改为1280×1024,将QQ登录界面的用户头像保存并对图像进行旋转处理,最后保存为portrait.png文件

两张图片文件的像素分辨率和图像位置都发生了变化,如果要通过portrait.png去匹配定位它在QQ.png所在的坐标位置,自动化工具PyAutoGUI肯定是无法实现的。若想解决这种复杂的图像识别问题,只能使用计算机视觉技术。在OpenCV里面,QQ.png称为目标图像,portrait.png称为训练图像

实现过程:

(1)分别对两张图片的图像进行特征检测,图像特征检测算法有SURF、SIFT和ORB,两张图片必须使用同一种特征检测算法。
(2)根据两张图片的特征描述符(即变量descriptor)进行匹配,匹配算法有暴力匹配和FLANN匹配,不同的匹配算法所产生的匹配结果存在一定的差异。
(3)对两张图片的匹配结果进行数据清洗,去除一些错误匹配。错误匹配是由于在图片不同区域内出现多处相似的特征而导致的。
(4)在匹配结果里抽取中位数,利用中位数来反向查询它在目标图片所对应像素点的坐标位置,这个坐标位置也是自动化开发中使用的图片定位坐标。

线面是让chatgpt把上面图片里的代码修改为了c++。没仔细看是否正确。

#include <opencv2/opencv.hpp>
#include <vector>int main() {// Load imagescv::Mat img1 = cv::imread("QQ.png");cv::Mat img2 = cv::imread("portrait.png");// Use SIFT algorithm to get keypoints and descriptorscv::Ptr<cv::SIFT> sift = cv::SIFT::create();std::vector<cv::KeyPoint> kp1, kp2;cv::Mat des1, des2;sift->detectAndCompute(img1, cv::noArray(), kp1, des1);sift->detectAndCompute(img2, cv::noArray(), kp2, des2);// Define FLANN matchercv::Ptr<cv::FlannBasedMatcher> flann = cv::FlannBasedMatcher::create();std::vector<std::vector<cv::DMatch>> matches;flann->knnMatch(des1, des2, matches, 2);// Filter good matchesstd::vector<cv::DMatch> goodMatches;for (size_t i = 0; i < matches.size(); ++i) {if (matches[i][0].distance < 0.5 * matches[i][1].distance) {goodMatches.push_back(matches[i][0]);}}// Get coordinates of a pointsize_t index = goodMatches.size() / 2;float x = kp1[goodMatches[index].queryIdx].pt.x;float y = kp1[goodMatches[index].queryIdx].pt.y;// Draw rectangle on img1 at (x, y) and display imagecv::rectangle(img1, cv::Point2f(x, y), cv::Point2f(x + 5, y + 5), cv::Scalar(0, 255, 0), 2);cv::imshow("QQ", img1);cv::waitKey(0);cv::destroyAllWindows();return 0;
}

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

相关文章:

  • 建设一个公司网站大概多少钱廊坊网站建设联系青橙网络
  • 网站开发怎么兼容pc和移动端织梦网站如何做二级导航
  • 多样化的网站建设公司微官网与手机网站首页
  • 悉知网站建设重庆市建设工程教育培训网
  • 阿里云对象存储做静态网站网站建设费属于广告费用吗
  • 北京网站建设及推广招聘网络营销的概念和内涵
  • 刷赞网站怎么做的小程序定制价格
  • 南网站建设 首选搜点网络网站支付页面设计
  • 网站读取速度慢平面设计网页
  • 网站如何做支付宝接口如何在交易网站做电子印章
  • 视频网站开发视频网站建设如何推广业务
  • 开发网站公司多少钱外贸网站推广哪家好
  • 月刊可以用什么网站做com域名
  • 新闻门户网站源码centos7.2做网站
  • 沈阳建站免费模板管理学试题库及答案
  • 国外做游戏评测的视频网站wordpress 茶叶模板
  • 辽宁建设厅的证到底在哪个网站查编程工具
  • 网站建设优化公司双wan路由器做网站接入
  • 最新自助建站源码中国网络教育云平台免费网课
  • wordpress 网站源码晋江论坛网站
  • 在线网站建设课程网站流量好难做
  • 网站内建设的发展龙岩市企业网
  • 西安关键词排名优化做网站建设优化的公司
  • 微信公众号和网站建设方案有什么字体设计的网站
  • dw做单页网站教程网站集约化建设的优势
  • 网站流量站怎么做wordpress 跨域ajax
  • 网站seo在线诊断分析放射科网站建设
  • 买证书网站开发工程师营销型网站建设市场
  • 广州机械网站建设外包房山做网站
  • 南宁 网站建设 公司咖啡网站模板