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

news/2024/7/21 7:14:16 标签: opencv, 人工智能, 计算机视觉, 图像处理, python

参考资料: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.niftyadmin.cn/n/5012234.html

相关文章

Unity的UI管理器

1、代码 public class UIManager {private static UIManager instance new UIManager();public static UIManager Instance > instance;//存储显示着的面板脚本(不是面板Gameobject),每显示一个面板就存入字典//隐藏的时候获取字典中对…

vue + video.js 加载多种视频流(HLS、FLV、RTMP、RTSP)

起因: 由于需要在一个项目内接入多种常用的视频流,所以接触到video.js,这里就做个记录。 框架: vue2 video.js videojs-contrib-hls videojs-flvjs-es6 videojs-flash video-js.swf vue安装就不讲了,直接从项目…

Github Copilot连接不上服务器

现象 报错:[ERROR] [default] [2023-09-08T15:47:01.542Z] GitHub Copilot could not connect to server. Extension activation failed: “connect ETIMEDOUT 20.205.243.168:443” 原因 DNS解析api.github.com的地址到20.205.243.168,但实际上这个地…

记录mac虚拟机安装centos7

一. 安装VMWare Fusion(略) 二. 寻找arm64架构mac能拉起来的centos7镜像(略) 参考 https://cloud.tencent.com/developer/article/2150583?areaSource106000.2&traceIdkybnG2SKASN5GqSBiSmu9 三. 从origin镜像安装后开始记…

【面试心得】WebBench 整理

在面试九识的时候,被问到了WebBench的原理,当时没答上来,这里做一个整理 WebBench 源码【带注释】:GitHub - YukunJ/annotated-webbench-1.5: bilingually annotated Webbench-1.5 webbench是一个轻量的压测工具,可以…

嵌入式IDE(2):KEIL中SCF分散加载链接文件详解和实例分析

在上一篇文章IAR中ICF链接文件详解和实例分析中,我通过I.MX RT1170的SDK中的内存映射关系,分析了IAR中的ICF链接文件的语法。对于MCU编程所使用的IDE来说,IAR和Keil用得比较多,所以这一篇文章就来分析一下Keil的分散文件.scf(scat…

如何判断bug是前端bug还是后端bug

1.前后端bug 特征: 前端主要负责显示数据,后端主要负责处理数据、存储数据,前后端主要通过接口进行数据交换。 前端bug的特征: 界面显示类问题:如文字大小不一,控件颜色不搭,控件不整齐&#x…

vue 将public文件下的图片引入.vue文件内

data() {return {publicPath:process.env.BASE_URL,} }<div :style"{backgroundImage: url(${publicPath}images/tradingRegular_images/rectBg.png)}">11 </div>