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

py实现surf特征提取

import cv2def main():# 加载图像image1 = cv2.imread('image1.jpg', cv2.IMREAD_GRAYSCALE)image2 = cv2.imread('image2.jpg', cv2.IMREAD_GRAYSCALE)# 创建SURF对象surf = cv2.xfeatures2d.SURF_create()# 检测特征点和描述符keypoints1, descriptors1 = surf.detectAndCompute(image1, None)keypoints2, descriptors2 = surf.detectAndCompute(image2, None)# 绘制特征点result_image1 = cv2.drawKeypoints(image1, keypoints1, None, (0, 255, 0), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)result_image2 = cv2.drawKeypoints(image2, keypoints2, None, (0, 255, 0), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)# 显示图像cv2.imshow("Image 1", result_image1)cv2.imshow("Image 2", result_image2)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == "__main__":main()
import cv2
import numpy as npdef main():# 加载图像image1 = cv2.imread('image1.jpg', cv2.IMREAD_GRAYSCALE)image2 = cv2.imread('image2.jpg', cv2.IMREAD_GRAYSCALE)# 创建SURF对象surf = cv2.xfeatures2d.SURF_create()# 检测特征点和描述符keypoints1, descriptors1 = surf.detectAndCompute(image1, None)keypoints2, descriptors2 = surf.detectAndCompute(image2, None)# 创建匹配器matcher = cv2.DescriptorMatcher_create(cv2.DescriptorMatcher_FLANNBASED)matches = matcher.match(descriptors1, descriptors2)# 根据距离排序匹配项matches = sorted(matches, key=lambda x: x.distance)# 提取前10个最佳匹配项good_matches = matches[:10]# 绘制匹配点和线条result_image = cv2.drawMatches(image1, keypoints1, image2, keypoints2, good_matches, None, flags=cv2.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS)# 显示图像cv2.imshow("Matches", result_image)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == "__main__":main()
http://www.lryc.cn/news/212972.html

相关文章:

  • MS39233三个半桥驱动器可兼容TMC6300
  • 09、SpringCloud -- 利用redis的原子性控制高并发请求访问到service层、本地标识
  • 竞赛选题 深度学习图像修复算法 - opencv python 机器视觉
  • 基于深度学习网络的美食检测系统matlab仿真
  • 人工智能基础_机器学习006_有监督机器学习_正规方程的公式推导_最小二乘法_凸函数的判定---人工智能工作笔记0046
  • 【MongoDB】Windows 安装MongoDB 6.0
  • DM8 Dokcer镜像更新后远程无法jdbc连接问题
  • AI:39-基于深度学习的车牌识别检测
  • 软考 系统架构设计师系列知识点之系统架构评估(1)
  • Spark UI中Shuffle dataSize 和shuffle bytes written 指标区别
  • Java——Map.getOrDefault方法详解
  • 银河集团香港优才计划95分获批案例展示!看看是如何申请的?
  • Python class中以`_`开头的类特殊方法
  • 2023云栖大会开幕:全球数万开发者参会,展现AI时代的云计算创新
  • [量化投资-学习笔记004]Python+TDengine从零开始搭建量化分析平台-EMA均线
  • KaiwuDB 获山东省工信厅“信息化应用创新优秀解决方案”奖
  • Python-常用的量化交易代码片段
  • Netty优化-rpc
  • 【Docker 内核详解】cgroups 资源限制(一):概念、作用、术语
  • MATLAB——一维小波的多层分解
  • C++的拷贝构造函数
  • 【手机端远程连接服务器】安装和配置cpolar+JuiceSSH:实现手机端远程连接服务器
  • Jupyter Notebook的使用
  • vue 使用vue-office预览word、excel,pdf同理
  • 【Spring Boot 源码学习】RedisAutoConfiguration 详解
  • Linux中如何进行粘贴复制
  • 多输入多输出 | Matlab实现k-means-LSTM(k均值聚类结合长短期记忆神经网络)多输入多输出组合预测
  • 学习笔记3——JVM基础知识
  • 图像处理:图片二值化学习,以及代码中如何实现
  • 如果你点击RabbitMQ Service - start了,但http://localhost:15672/#/还是访问不了,那么请看这篇博客!