Python Opencv实践 - Shi-Tomasi角点检测

news2024/12/23 0:25:17

参考资料:Harris和Shi-tomasi角点检测笔记(详细推导)_harris焦点检测_亦枫Leonlew的博客-CSDN博客

 cv.goodFeaturesToTrack:Shi-Tomasi角点检测-OpenCV-python_独憩的博客-CSDN博客

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

img = cv.imread("../SampleImages/armcore.jpg", cv.IMREAD_COLOR)
plt.imshow(img[:,:,::-1])

#转换为灰度图像
img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
plt.imshow(img_gray, plt.cm.gray)


#Shi-Tomasi角点检测
#corners = cv.goodFeaturesToTrack( image, maxCorners, qualityLevel, minDistance[, corners[, mask[, blockSize[, useHarrisDetector[, k]]]]] )
#  image:8位或32位浮点型输入图像,单通道
#  maxCorners:角点数目最大值,如果实际检测的角点超过此值,则只返回前maxCorners个强角点
#  qualityLevel:角点的品质因子,0-1中的数字
#  minDistance:对于初选出的角点而言,如果在其周围minDistance范围内存在其他更强角点,则将此角点删除
#  _mask:指定感兴趣区,如不需在整幅图上寻找角点,则用此参数指定ROI
#  blockSize:计算协方差矩阵时的窗口大小
#  useHarrisDetector:指示是否使用Harris角点检测,如不指定,则计算shi-tomasi角点
#  harrisK:Harris角点检测需要的k值
#  一般来说,可以只输入image maxCorners, qualityLevel, minDistanc
#参考资料:https://blog.csdn.net/qq_54517101/article/details/121762965
corners = cv.goodFeaturesToTrack(img_gray, 800, 0.09, 5)
#绘制角点
for corner in corners:
    x,y = corner.ravel()
    cv.circle(img, (int(x),int(y)), 2, (0,255,0), -1)

plt.imshow(img[:,:,::-1])

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/989930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

精准定位,智慧港口:北斗技术在港口车辆智能监管中的应用

随着全球经济一体化的加速推进,港口作为全球物流网络中的关键节点、对外贸易货物的集散中心以及国际物流供应链的重要组成部分,其在区域经济发展中的作用变得越来越重要。然而,随着港口向大型化、专业化方向的发展,现有的基础设施…

基于Java+SpringBoot+UniApp的微信小程序朋友圈

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着社交媒体的兴起和…

在UE4虚幻引擎中加入导航网格体边界体积后丧尸不能移动和发现玩家

UE4系列文章目录 文章目录 UE4系列文章目录前言一、用到的知识点二、问题原因 前言 最近使用ue4做第一人称视角射击游戏发现问题,加入导航网格体边界体积后丧尸不能移动和发现玩家。下图是出现的问题图片 一、用到的知识点 1.行为树:控制并显示AI的决…

【后端面经-数据库】Redis数据结构和底层数据类型

【后端面经-数据库】Redis数据结构和底层数据类型 1. Redis数据类型1.1 基本数据类型1. string2. hash3. list4. set5. sortset/Zset 1.2 特殊数据类型1. bitmap2. hyperloglog3. GEO4. stream 2. Redis底层数据类型2.1 简介2.2 动态字符串SDS2.3 快表QuickList2.4 字典Dict2.5…

论文解读 | 基于中心的三维对象检测与跟踪

原创 | 文 BFT机器人 CenterPoint与传统基于框的3D物体检测器和跟踪器不同之处在于,它将3D物体表示、检测和跟踪为点,而不是使用边界框。这种方法具有几个优点,包括减少物体检测器的搜索空间,简化下游任务(如跟踪&…

一键去除文件名中的空格,轻松解决文件命名烦恼!

你是否曾经为文件名中的空格而烦恼?这些空格可能会在传输、存储和搜索文件时带来各种问题。为了解决这个问题,本文将向你介绍几种实用的方法,让你轻松去除文件名中的空格,让文件命名变得更加简单! 首先,我…

MAC终端美化

先看看效果: 1.安装on-my-zsh 打开终端,输出: sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"安装过程中如果出现了链接超时的错误,不要慌,就再来一次&#x…

牛客网——BM62 斐波那契数列

class Solution { public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param n int整型 * return int整型*/int Fibonacci(int n) {// write code hereif(n0) //考虑第0项return 0;else if(n1||n2)return 1;else…

人大加拿大女王大学金融硕士项目——自律是实现目标和成功的桥梁

低级的欲望通过放纵就能得到,高级的欲望通过自律才能得到。在这个快速发展的时代,只有保持自律,不断的充实自己,提升自己,才不会被社会所淘汰。中国人民大学与加拿大女王大学金融硕士项目,汇集了金融业的精…

EPICS asyn诊断帮助

iocsh命令 asynReport(level,portName) asynInterposeFlushConfig(portName,addr,timeout) asynInterposeEosConfig(portName,addr,processIn,processOut) asynSetTraceMask(portName,addr,mask) asynSetTraceIOMask(portName,addr,mask) asynSetTraceInfoMask(portName,addr…

Greenplum执行SQL卡住的问题

问题 今天社区群里面一位同学反映他的SQL语句执行会hang住,执行截图如下。 分析 根据提示信息,判断可能是网络有问题,或者是跟GP使用UDP包有关系。 此同学找了网络检查的人确定网络没有问题,于是猜测跟UDP包有关。 参考文章ht…

合宙Air724UG LuatOS-Air LVGL API控件-窗口 (Window)

窗口 (Window) 分 享导出pdf 示例代码 win lvgl.win_create(lvgl.scr_act(), nil) lvgl.win_set_title(win, "Window title") -- close_btn lvgl.win_add_btn_right(win, "\xef\x80\x8d") -- --lvgl.obj_set_event_cb(cl…

企业架构LNMP学习笔记23

1、隐藏版本号: Nginx对外提供服务,为了避免被针对某个版本的漏洞进行攻击。经常做法是隐藏掉软件的版本信息,提供一定的安全性。 server_tokens off; https和CA: 1)基于SSL CA证书的公私钥的安全性。 CA是需要生成…

pip安装skimage的方法

在安装skimage时,可能会报错误: 可以尝试:pip install scikit-image进行安装,使用时只需要:import skimage

Multisim14.0仿真(十)同相放大器

一、仿真原理图: 二、仿真效果图:

5.xaml RadioButton按钮

1.运行图 2.运行源码 a.Xaml源码 <Grid Name="Grid1"><!--GroupName="role" 设置组名,同一组名,他们是互斥--><RadioButton Content="管理员" GroupName

数据库作业练习题

数据库知识 1.不属于关系数据库的是&#xff08;B&#xff09; A.Oracle B.Essbase C.SQL Server D.DB2 Oracle和SQL Server属于关系数据库&#xff0c;DB2是个老古董了&#xff0c;看见DB也应该知道是数据库了&#xff0c;就剩下Essbase了&#xff0c;故选B。Essbase是一种多…

代码审查和合并请求:团队合作中的关键

在现代软件开发中&#xff0c;团队合作是不可或缺的一部分。为了确保代码质量、减少错误以及促进知识共享&#xff0c;代码审查和合并请求成为了开发团队中的关键实践。在本文中&#xff0c;我们将深入探讨代码审查和合并请求的重要性、流程以及最佳实践。 代码审查的重要性 …

2023-09-08 LeetCode每日一题(计算列车到站时间)

2023-09-08每日一题 一、题目编号 2651. 计算列车到站时间二、题目链接 点击跳转到题目位置 三、题目描述 给你一个正整数 arrivalTime 表示列车正点到站的时间&#xff08;单位&#xff1a;小时&#xff09;&#xff0c;另给你一个正整数 delayedTime 表示列车延误的小时…

超高清Mac动态壁纸桌面:Dynamic Wallpaper for Mac中文版本

Dynamic Wallpaper for Mac是一款引人注目的动态壁纸软件&#xff0c;为你的Mac桌面带来全新的视觉体验。 [特点1]&#xff1a;轻松定制动态壁纸&#xff1a;这款软件具有用户友好的界面&#xff0c;使得定制动态壁纸变得异常简单。用户可以轻松选择和调整动画效果&#xff0c…