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

宁波建站平台湖州住房和城乡建设部网站

宁波建站平台,湖州住房和城乡建设部网站,wordpress vip解析插件,做图书馆网站图像拼接中看到了特征匹配的部分#xff0c;特征匹配主要是特征点的匹配。在特征点匹配的时候#xff0c;首先进行粗匹配#xff0c;粗匹配通常是进行一对匹配点进行对比#xff0c;误差越小越可能是一对匹配点#xff1b;精匹配方法中#xff0c;我们可以用到RANSAC(Ran…  图像拼接中看到了特征匹配的部分特征匹配主要是特征点的匹配。在特征点匹配的时候首先进行粗匹配粗匹配通常是进行一对匹配点进行对比误差越小越可能是一对匹配点精匹配方法中我们可以用到RANSAC(Random Sample Consensus 随机抽样一致性)算法。 RANSAC可以用于图片的拼接技术。在多幅图像合成时事先会在待合成的图片中提取一些关键的特征点。计算机视觉的研究表明不同视角下物体往往可以通过一个透视矩阵单应矩阵3X3或2X2的变换而得到。RANSAC被用于拟合这个模型的参数矩阵各行列的值由此便可识别出不同照片中的同一物体。 选自https://blog.csdn.net/l297969586/article/details/52328884 Ransac算法中要用四对特征点对构建一个单应矩阵关于单应矩阵的介绍参考博客https://blog.csdn.net/zhaocj/article/details/78799194 我们可以理解为粗匹配是从两幅图像所提取的特征集中找到特征点之间相对应的特征点对精匹配是在粗匹配的基础上再剔除一些不正确的匹配点对。 RANSAC算法步骤 1.随机选取四对匹配点计算出一个临时模型参数单应矩阵。 2.用该模型参数去测试匹配点对集统计误差在允许范围内的匹配点对数目即内点数。 3.当内点数目占到指定比例时则认为所选取的匹配点对是合理的。 第一步选取的匹配点对合理  根据内点信息重新计算得到最终的模型参数。 第一步选取的匹配点对不合理重新选取匹配点对重复进行模型参数计算直到选取的特征点对合理。 --------------------------------------------------------------------------- 代码来源以及Ransac算法介绍http://blog.csdn.net/luoshixian099/article/details/50217655 实例代码如下OpenCV中此功能通过调用findHomography函数调用 #include iostream #include opencv2/opencv.hpp #include opencv2/core/core.hpp #include opencv2/features2d/features2d.hpp #include opencv2/highgui/highgui.hpp using namespace cv; using namespace std;int main(int argc, char** argv) {Mat obj imread(obj.jpg); //载入目标图像 Mat scene imread(scene.jpg); //载入场景图像 if (obj.empty() || scene.empty()){cout Cant open the picture!\n;return 0;}vectorKeyPoint obj_keypoints, scene_keypoints;Mat obj_descriptors, scene_descriptors;ORB detector; //采用ORB算法提取特征点 detector.detect(obj, obj_keypoints);detector.detect(scene, scene_keypoints);detector.compute(obj, obj_keypoints, obj_descriptors);detector.compute(scene, scene_keypoints, scene_descriptors);BFMatcher matcher(NORM_HAMMING, true); //汉明距离做为相似度度量 vectorDMatch matches;matcher.match(obj_descriptors, scene_descriptors, matches);Mat match_img;drawMatches(obj, obj_keypoints, scene, scene_keypoints, matches, match_img);imshow(滤除误匹配前, match_img);//保存匹配对序号 vectorint queryIdxs(matches.size()), trainIdxs(matches.size());for (size_t i 0; i matches.size(); i){queryIdxs[i] matches[i].queryIdx;trainIdxs[i] matches[i].trainIdx;}Mat H12; //变换矩阵 vectorPoint2f points1; KeyPoint::convert(obj_keypoints, points1, queryIdxs);vectorPoint2f points2; KeyPoint::convert(scene_keypoints, points2, trainIdxs);int ransacReprojThreshold 5; //拒绝阈值 H12 findHomography(Mat(points1), Mat(points2), CV_RANSAC, ransacReprojThreshold);vectorchar matchesMask(matches.size(), 0);Mat points1t;perspectiveTransform(Mat(points1), points1t, H12);for (size_t i1 0; i1 points1.size(); i1) //保存‘内点’ {if (norm(points2[i1] - points1t.atPoint2f((int)i1, 0)) ransacReprojThreshold) //给内点做标记 {matchesMask[i1] 1;}}Mat match_img2; //滤除‘外点’后 drawMatches(obj, obj_keypoints, scene, scene_keypoints, matches, match_img2, Scalar(0, 0, 255), Scalar::all(-1), matchesMask);//画出目标位置场景图片矩形std::vectorPoint2f obj_corners(4);obj_corners[0] cvPoint(0, 0); obj_corners[1] cvPoint(obj.cols, 0);obj_corners[2] cvPoint(obj.cols, obj.rows); obj_corners[3] cvPoint(0, obj.rows);std::vectorPoint2f scene_corners(4);perspectiveTransform(obj_corners, scene_corners, H12);line(match_img2, scene_corners[0] Point2f(static_castfloat(obj.cols), 0),scene_corners[1] Point2f(static_castfloat(obj.cols), 0), Scalar(0, 0, 255), 2);line(match_img2, scene_corners[1] Point2f(static_castfloat(obj.cols), 0),scene_corners[2] Point2f(static_castfloat(obj.cols), 0), Scalar(0, 0, 255), 2);line(match_img2, scene_corners[2] Point2f(static_castfloat(obj.cols), 0),scene_corners[3] Point2f(static_castfloat(obj.cols), 0), Scalar(0, 0, 255), 2);line(match_img2, scene_corners[3] Point2f(static_castfloat(obj.cols), 0),scene_corners[0] Point2f(static_castfloat(obj.cols), 0), Scalar(0, 0, 255), 2);imshow(滤除误匹配后, match_img2);waitKey(0);return 0; } 代码实现的效果 ---。
http://www.pierceye.com/news/305829/

相关文章:

  • 网站建设设计模板磁力链最佳的搜索引擎
  • 单位外部网站建设价格哪些网站可以做视频直播
  • 广州黄埔网站建设公司国外做调灵风暴的网站
  • 珠海附近交友平台软件广州网站优化推广方案
  • cgi做网站如何将网站加入百度图 推广
  • 小贷做网站深圳手机app软件开发
  • 上海平台网站建设费用页面模板不存在怎么办
  • 西安网站排名公司上海工商网查询官网
  • 网站建设协调机制建网站 可以看到访客吗
  • 学生做网站的工作室南和住房和城乡建设局网站
  • 潍坊网站制作案例广东十大网站建设排名
  • 网站建设市场调研框架网站建设流程步骤怎么样
  • 喜茶品牌策划全案案例seo技术
  • 简速做网站中国企业网站建设案例
  • 做网站不给源码莱州网站建设包年多少钱
  • 好玩有趣的网站贵州省城乡建设厅网站材料价
  • 投资公司网站设计上海自动seo
  • 网络营销导向网站建设的基础是什么创新驱动发展战略的内容
  • 银狐鑫诺科技 网站建设深圳画册设计价格
  • 邵阳网站建设推广优化游戏性能的软件
  • wp做网站难吗销售产品单页面网站模板
  • 网站子域名 更换网站开发什么方式
  • 学做面食最好的网站设计公司logo大全
  • wordpress建站入门手机网站跳转怎么办
  • 好网站开发培训wordpress是否免费
  • 建设国际互联网网站网站建设制作流程
  • 开发一个网站做爬虫手机网站建设视频
  • 网站搜索功能模块公众号开发菜单
  • 公司想做个自己的网站怎么做网络营销与管理专业
  • 网站设计中国内优秀企业网站欣赏深圳商城网站设计公司