OpenCV图像处理——模版匹配和霍夫变换

目录

  • 模版匹配
    • 原理
    • 实现
  • 霍夫变换
    • 霍夫线检测

模版匹配

原理

在这里插入图片描述

在这里插入图片描述

实现

res=cv.matchTemplate(img,template,method)

在这里插入图片描述

import numpy as np
import cv2 as cv
import matplotlib.pyplot as pltimg=cv.imread('./汪学长的随堂资料/6/模板匹配/lena.jpg')
template=cv.imread('./汪学长的随堂资料/6/模板匹配/face.jpg')
res=cv.matchTemplate(img,template,cv.TM_CCORR)
min_val,max_val,min_loc,max_loc=cv.minMaxLoc(res)
top_left=max_loc
h,w=template.shape[:2]
bottom_right=(top_left[0]+w,top_left[1]+h)
cv.rectangle(img,top_left,bottom_right,[0,255,0],2)
plt.imshow(img[:,:,::-1])

在这里插入图片描述
注:
在这里插入图片描述

霍夫变换

在这里插入图片描述

霍夫线检测

cv.HoughLines(img,rho,theta,threshold)

在这里插入图片描述

img=cv.imread('./image/rili,jpg',0)
edges=cv.Canny(img,50,150)
lines=cv.HoughLines(edges,0.8,np.pi/180,150)
for line in lines:rho,theta=line[0]a=np.cos(theta)b=np.sin(theta)x0=rho*ay0=rho*bx1=int(x0+1000*(-b))y1=int(y0+1000*a)x2=int(x0-1000*(-b))y2=int(y0-1000*a)cv.line(img,(x1,y1),(x2,y2),(0,255,0))
plt.imshow(img[:,:,::-1])

在这里插入图片描述

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

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

相关文章

UniApp 使用命令创建页面的详细指南

系列文章目录 文章目录 系列文章目录前言一、安装Uni-CLI二、创建页面三、页面创建命令四、页面结构五、页面使用总结 前言 UniApp是一款跨平台的前端框架,可以用于开发同时运行在多个平台(如微信小程序、H5、App等)的应用程序。本文将详细介…

系统架构设计师---考试通关练习题

第一章 系统架构设计师概述 1 .以下()不是现代信息系统的架构的三个要素。 A.构件 B.模式 C.规划 D.属性 解析:现代信息系统的架构有三个要素,即构件、模式和规划。 答案:D 2. 软件系统架构是关于软件系统的结构、行为和()的高级抽象。 A.构件 B.模式 C…

centos-stream-9 centos9 配置国内yum源 阿里云源

源配置 tips: yum配置文件路径 /etc/yum.repos.d/centos.repo 1.备份源配置 [Very Important!]mv /etc/yum.repos.d/centos.repo /etc/yum.repos.d/centos.repo.backup2.Clean Cache: yum clean all3.Backup the Old CentOS-Base.repo If exist this file.cd /etc/yum.repos.…

使用chatGPT-4 畅聊量子物理学(三)

集合了人类智慧的照片,来自 1927 年举行的第五届索尔维国际会议。 Omer 什么是“物理系统在被测量之前不具有确定的属性。量子力学只能预测给定测量的可能结果的概率分布" ChatGPT 这句话描述了量子力学中的一种基本原则,即“物理系统在被测量之前…

手写线程池的过程与思考

线程池的抽象接口 public interface SelfThreadPool {// 提交任务到线程池void execute(Runnable runnable);//关闭void shutdown();//获取线程池初始化的大小int getInitSize();//获取线程池最大的大小int getMaxSize();// 获取线程池核心线程数量,int getCoreSize();// 获取…

世微AP2813 平均电流双路降压恒流驱动器 LED储能电源驱动指示灯IC 可恒流可爆闪 可双路恒流

产品描述 AP2813 是一款双路降压恒流驱动器,高效率、外围简单、内置功率管,适用于 5-80V 输入的高精度降压 LED 恒流驱动芯片。内置功率管输出最大功率可达12W,最大电流 1.2A。AP2813 一路直亮,另外一路通过 MODE1 切换全亮,爆闪…

利用OpenCV光流算法实现视频特征点跟踪

光流简介 光流(optical flow)是运动物体在观察成像平面上的像素运动的瞬时速度。光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。…

大模型PEFT技术原理(二):P-Tuning、P-Tuning v2

随着预训练模型的参数越来越大,尤其是175B参数大小的GPT3发布以来,让很多中小公司和个人研究员对于大模型的全量微调望而却步,近年来研究者们提出了各种各样的参数高效迁移学习方法(Parameter-efficient Transfer Learning&#x…

css鼠标样式 cursor: pointer

cursor: none; cursor:not-allowed; 禁止选择 user-select: none; pointer-events:none;禁止触发事件, 该样式会阻止默认事件的发生,但鼠标样式会变成箭头

Hlang社区-前端社区宣传首页实现

文章目录 前言页面结构固定钉头部轮播JS特效完整代码总结前言 这里的话,博主其实也是今年参与考研的大军之一,所以的话,是抽空去完成这个项目的,当然这个项目的肯定是可以在较短的时间内完成的。 那么废话不多说,昨天也是干到1点多,把这个首页写出来了。先看看看效果吧:…

Linux中 socket编程中多进程/多线程TCP并发服务器模型

一、循环服务器(while)【不常用】 一次只能处理一个客户端的请求,等这个客户端退出后,才能处理下一个客户端。缺点:循环服务器所处理的客户端不能有耗时操作。 模型 sfd socket(); bind(); listen(); while(1) {newfd accept();while(1){r…

分别在linux和windows上设置socket为阻塞模式

在 Linux 和 Windows 系统中,都可以将 socket 设置为非阻塞模式。 Linux平台 在 Linux 系统中,可以使用 fcntl 函数来设置 socket 为非阻塞模式。例如: int flags fcntl(socket_fd, F_GETFL, 0); fcntl(socket_fd, F_SETFL, flags | O_NO…

【问心篇】渴望、热情和选择

加班太严重完全没有时间学习,怎么办? 我真的不算聪明的人,但是,我对学习真的是有渴望的。说得好听一点,我希望自己在不停地成长,不辜负生活在这个信息化大变革的时代。说得不好的一点,就是我从…

断点续传的未来发展趋势与前景展望

断点续传是一种在网络传输中断后,能够从中断的位置继续传输的技术。它可以有效地避免因为网络不稳定、服务器故障、用户操作等原因导致的传输失败,节省了用户的时间和流量,提高了传输的效率和可靠性。断点续传在很多场景中都有广泛的应用&…

AI 绘画Stable Diffusion 研究(八)sd采样方法详解

大家好,我是风雨无阻。 本文适合人群: 希望了解stable Diffusion WebUI中提供的Sampler究竟有什么不同,想知道如何选用合适采样器以进一步提高出图质量的朋友。 想要进一步了解AI绘图基本原理的朋友。 对stable diffusion AI绘图感兴趣的朋…

【洛谷 P5736】【深基7.例2】质数筛 题解(埃氏筛法)

【深基7.例2】质数筛 题目描述 输入 n n n 个不大于 1 0 5 10^5 105 的正整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。 输入格式 第一行输入一个正整数 n n n,表示整数个数。 第二行输入 n n n 个正整数 …

jquery如何修改选中状态

jquery修改选中状态的方法:1、使用addClass和removeClass方法,可以向选中的元素添加一个多个类名,从而改变其样式或状态;2、使用toggleClass方法,可以在选中元素上添加或移除一个类名,如果该类名已经存在&a…

208. 实现 Trie (前缀树)

Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 请你实现 Trie 类: Trie() 初始化前缀树对象…

手撕LFU缓存

手撕LRU缓存_右大臣的博客-CSDN博客 是LRU的升级,多了一个访问次数的维度 实现 LFUCache 类: LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象int get(int key) - 如果键 key 存在于缓存中,则获取键的值,否则返…

C# Lamda到底是什么?!

lamda作为匿名函数,现在已经能够出现子啊C#程序的任何可能位置,它可能作为参数为委托或其他函数复制,或者单独作为表达式,或者承担一些类似C中内联函数的一些作用承担一些简单计算。熟练的使用Lamda表达式能够让减少代码的冗余&am…