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

临沂专业网站制作公司成都网络推广优化

临沂专业网站制作公司,成都网络推广优化,博客登录注册,网站开发与维修是什么意思前面我们已经了解了Harris函数来进行角点检测,因为角点的特性,这些角点在图像旋转的时候也可以被检测到。但是,如果我们放大或缩小图像时,就可能会丢失图像的某些部分,甚至有可能增加角点的质量。这种损失的现象需要一…

前面我们已经了解了Harris函数来进行角点检测,因为角点的特性,这些角点在图像旋转的时候也可以被检测到。但是,如果我们放大或缩小图像时,就可能会丢失图像的某些部分,甚至有可能增加角点的质量。这种损失的现象需要一种与图像比例无关的角点检测方法来解决。

SIFT(Scale-Invariant Feature Transform)尺度不变特征变换可以解决这个问题。

注意: SIFT 并不检测关键点(关键点由Difference of Gaussians检测),SIFT会通过一个特征向量来描述关键点周围区域的情况。DoG操作的最终结果会得到感兴趣的区域(关键点),这将通过SIFT来进行说明。

函数说明:

sift =cv2.SIFT_create([, nfeatures[, nOctaveLayers[,
contrastThreshold[, edgeThreshold]]]])

参数

  • nfeatures: 保留的最佳功能的数量。这些特征按其分数排名(在SIFT算法中作为局部对比度测量)。

  • nOctaveLayers:每个八度中的层数。3是D.Lowe(原作者)论文中使用的值。八度的数量是根据图像分辨率自动计算的。

  • contrastThreshold:用于过滤掉半均匀(低对比度)区域中的弱特征的对比度阈值。阈值越大,检测器产生的特征越少。应用过滤时,对比度阈值将被nOctaveLayers除。当nOctaveLayers设置为默认值并且如果要使用D.Lowe论文中使用的值0.03时,请将此参数设置为0.09。

  • edgeThreshold:用于过滤边缘特征的阈值。请注意,其含义与contrastThreshold不同,即edgeThreshold越大,滤除的特征越少(保留的特征越多)。

返回值

  • sift:实例化一个sift特征检测器。

示例:对图像检测DoG特征并提取SIFT描述符

实验原图:

在这里插入图片描述

import cv2
import numpy as npimg = cv2.imread('images\\sumian.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)sift = cv2.xfeatures2d.SIFT_create()
keypoints, descriptor = sift.detectAndCompute(gray, None)img = cv2.drawKeypoints(image= img, outImage= img, keypoints= keypoints, flags= cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS, color= (0, 0, 255))cv2.imshow('sift', img)
cv2.waitKey()
cv2.destroyAllWindows()

发现是,如果你沿用之前的代码即

descriptor = cv2.xfeatures2d.SIFT_create()

会出现一个warning,但不影响结果。

[ WARN:0@0.037] global shadow_sift.hpp:15 cv::xfeatures2d::SIFT_create DEPRECATED: cv.xfeatures2d.SIFT_create() is deprecated due SIFT tranfer to the main repository. https://github.com/opencv/opencv/issues/16736

这是因为新版本的SIFT可以直接引用,不再需要安装contrib包,即

descriptor = cv2.SIFT_create()

官方公告可参见 OpenCV Google Summer of Code 2020

在这里插入图片描述

新代码如下:

import cv2img = cv2.imread('images\\sumiao.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#sift = cv2.xfeatures2d.SIFT_create()
sift = cv2.SIFT_create()
keypoints, descriptor = sift.detectAndCompute(gray, None)img = cv2.drawKeypoints(image= img, outImage= img, keypoints= keypoints, flags= cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS, color= (0, 0, 255))cv2.imshow('sift', img)
cv2.waitKey()
cv2.destroyAllWindows()

运行效果:

在这里插入图片描述

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

相关文章:

  • 网线制作步骤图片张北网站seo
  • 上海网站建设最好的公司百度搜索排名优化
  • 网站建设营销一站式服务网站开发的流程
  • 微信网站界面设计建立一个国外的网站
  • 高端网站开发案例展示深圳小程序开发公司
  • html5从入门到精通成都网站搭建优化推广
  • 做设计什么兼职网站建设百度搜索风云排行榜
  • 山东省建设官方网站百度互联网营销
  • 深圳靠谱网站建设公司青岛seo代理计费
  • 织梦网站调节网站营销软文范例大全
  • 免费自制app软件教程seo策略是什么意思
  • 个人网站怎么做游戏如何让百度收录自己的网站
  • wordpress更改主题名系统优化软件十大排名
  • 网站营销案例哪里可以买链接网站
  • 点卡平台网站开发seo具体优化流程
  • 嘉兴的网站设计公司有哪些网站建成后应该如何推广
  • 网站建设服务器价格辽宁网站seo
  • 知名电子商务企业黄山seo
  • 网站建设开发哪家质量好重庆今天刚刚发生的重大新闻
  • 做网站多少钱西宁君博正规今日足球比赛分析推荐
  • 忻州网站建设免费外链网盘
  • 做彩票网站技术合肥优化
  • 用wordpress做的网站有哪些郴州seo外包
  • 微博上如何做网站推广中国站长素材网
  • 高端婚纱摄影网站seo赚钱方法大揭秘
  • 做网站app优惠活动的小说网站排名
  • 做一个公司网站一般需要多少钱公司做网站需要多少钱
  • 点拓网站建设seow是什么意思
  • 济南设计网站的公司网店seo名词解释
  • 网站在线支付今日刚刚发生的军事新闻