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

杭州自助建站模板seo推广有哪些公司

杭州自助建站模板,seo推广有哪些公司,香港虚拟主机评测,网站登录账号密码保存2023.8.19 为了在暑假内实现深度学习的进阶学习,特意学习一下传统算法,分享学习心得,记录学习日常 SIFT的百科: SIFT Scale Invariant Feature Transform, 尺度不变特征转换 全网最详细SIFT算法原理实现_ssift算法_Tc.小浩的博客…

2023.8.19

为了在暑假内实现深度学习的进阶学习,特意学习一下传统算法,分享学习心得,记录学习日常

SIFT的百科:

SIFT = Scale Invariant Feature Transform, 尺度不变特征转换

全网最详细SIFT算法原理实现_ssift算法_Tc.小浩的博客-CSDN博客

在环境配置中要配置opencv:

pip install opencv-contrib-python

SIFT算法的三个计算步骤:

  1,在DOG尺度空间中获取特征点;

  2,关键点的方向估计(寻找主方向)

  3,通过各关键点的特征向量(关键点的描述子生成)

进行两两比较找出相互匹配的若干对特征点,建立两图间景物间的对应关系,可以基于SIFT实现图像拼接

Code of SIFT and lena:

 注意你是否有lena.png图像

import cv2 as cvimg = cv.imread('lena.png')
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
sift = cv.xfeatures2d.SIFT_create()
# sift = cv.SIFT_create()
kp = sift.detect(gray, None)
img = cv.drawKeypoints(gray, kp, img)
cv.imshow("SIFT", img)
cv.imwrite('sift_keypoints.jpg', img)
cv.waitKey(0)
cv.destroyAllWindows()

Result is shown in these figrues : SIFT 提取了lena的特征点 

 基于SIFT的图片实现图片拼接:

   代码是Copy大神的,注意有两个代码,运行第二个喔。代码所用的图片也附上!

import numpy as np
import cv2class Stitcher:# 拼接函数def stitch(self, images, ratio=0.75, reprojThresh=4.0, showMatches=False):# 获取输入图片(imageB, imageA) = images# 检测A、B图片的SIFT关键特征点,并计算特征描述子(kpsA, featuresA) = self.detectAndDescribe(imageA)(kpsB, featuresB) = self.detectAndDescribe(imageB)# 匹配两张图片的所有特征点,返回匹配结果M = self.matchKeypoints(kpsA, kpsB, featuresA, featuresB, ratio, reprojThresh)# 如果返回结果为空,没有匹配成功的特征点,退出算法if M is None:return None# 否则,提取匹配结果# H是3x3视角变换矩阵(matches, H, status) = M# 将图片A进行视角变换,result是变换后图片result = cv2.warpPerspective(imageA, H, (imageA.shape[1] + imageB.shape[1], imageA.shape[0]))# 将图片B传入result图片最左端result[0:imageB.shape[0], 0:imageB.shape[1]] = imageB# 检测是否需要显示图片匹配if showMatches:# 生成匹配图片vis = self.drawMatches(imageA, imageB, kpsA, kpsB, matches, status)# 返回结果return (result, vis)# 返回匹配结果return resultdef detectAndDescribe(self, image):# 将彩色图片转换成灰度图gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 建立SIFT生成器descriptor = cv2.xfeatures2d.SIFT_create()# 检测SIFT特征点,并计算描述子(kps, features) = descriptor.detectAndCompute(image, None)# 将结果转换成NumPy数组kps = np.float32([kp.pt for kp in kps])print(kps)# 返回特征点集,及对应的描述特征return (kps, features)def matchKeypoints(self, kpsA, kpsB, featuresA, featuresB, ratio, reprojThresh):# 建立暴力匹配器matcher = cv2.DescriptorMatcher_create("BruteForce")# 使用KNN检测来自A、B图的SIFT特征匹配对,K=2rawMatches = matcher.knnMatch(featuresA, featuresB, 2)matches = []for m in rawMatches:# 当最近距离跟次近距离的比值小于ratio值时,保留此匹配对if len(m) == 2 and m[0].distance < m[1].distance * ratio:# 存储两个点在featuresA, featuresB中的索引值matches.append((m[0].trainIdx, m[0].queryIdx))# 当筛选后的匹配对大于4时,计算视角变换矩阵if len(matches) > 4:# 获取匹配对的点坐标ptsA = np.float32([kpsA[i] for (_, i) in matches])ptsB = np.float32([kpsB[i] for (i, _) in matches])# 计算视角变换矩阵(H, status) = cv2.findHomography(ptsA, ptsB, cv2.RANSAC, reprojThresh)# 返回结果return (matches, H, status)# 如果匹配对小于4时,返回Nonereturn Nonedef drawMatches(self, imageA, imageB, kpsA, kpsB, matches, status):# 初始化可视化图片,将A、B图左右连接到一起(hA, wA) = imageA.shape[:2](hB, wB) = imageB.shape[:2]vis = np.zeros((max(hA, hB), wA + wB, 3), dtype="uint8")vis[0:hA, 0:wA] = imageAvis[0:hB, wA:] = imageB# 联合遍历,画出匹配对for ((trainIdx, queryIdx), s) in zip(matches, status):# 当点对匹配成功时,画到可视化图上if s == 1:# 画出匹配对ptA = (int(kpsA[queryIdx][0]), int(kpsA[queryIdx][1]))ptB = (int(kpsB[trainIdx][0]) + wA, int(kpsB[trainIdx][1]))cv2.line(vis, ptA, ptB, (0, 255, 0), 1)# 返回可视化结果return vis
from Stitcher import Stitcher
import cv2# 读取拼接图片
imageA = cv2.imread("image/left_01.png")
imageB = cv2.imread("image/right_01.png")# 把图片拼接成全景图
stitcher = Stitcher()
(result, vis) = stitcher.stitch([imageA, imageB], showMatches=True)# 显示所有图片
cv2.imshow("Image A", imageA)
cv2.imshow("Image B", imageB)
cv2.imshow("Keypoint Matches", vis)
cv2.imshow("Result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

                                                            代码使用的图片

 效果是这样:

 

http://www.khdw.cn/news/9562.html

相关文章:

  • 怎么用建站abc做网站亚马逊查关键词搜索量的工具
  • 手工蛋糕网站开发报告宁宁网seo
  • 网站做视频流量赚钱吗seo权威入门教程
  • 网站建设微信官网开发深圳网站seo地址
  • 英文网站seo如何做网站如何让百度收录
  • 黔西做网站中国关键词网站
  • 哪些网站可以找到做跨境电商的公司一站式自媒体服务平台
  • 上海闵行网站建设企业网址搭建
  • h5购物网站模板网站推广营销的步骤
  • 德阳网站建设推广做好网络推广
  • 做定制的B2b网站seo关键词有哪些类型
  • 做外贸女装有哪些网站cps广告联盟网站
  • 软件应用商店下载安装seo品牌优化
  • 做企业网站建设云南疫情最新数据消息中高风险地区
  • 寿县移动公司网站建设seo推广教程seo高级教程
  • 香港网站域名是什么结尾市场调研分析报告范文
  • 中国建设银行余额查询入口seo搜索引擎优化求职简历
  • 沧州网站建设培训网店代运营骗局流程
  • wordpress连接域名seo品牌
  • 咋做网站网络推广平台网站推广
  • 好的手机网站建设公司佛山旺道seo优化
  • 提高网站权重工具免费html网站模板
  • 上海网站备案要求吗浏览器下载安装
  • 做婚恋网站的思路网络广告联盟
  • 销售型网站设计互联网营销师证
  • 做网站的为什么不给域名和密码适合女生去的培训机构
  • 深圳做网站得外包公司网页模板免费html
  • 怎么自己做网站盗qq培训体系
  • 网站开发和web开发此网站服务器不在国内维护
  • 太原网站建设加q.479185700百度搜索推广多少钱