Corners检测

corner IC测试资料整理 参考资料 http://blog.sina.com.cn/s/blog_71462a650102vrnm.html(工艺角) https://developer.aliyun.com/article/740391(流片Corner Wafer介绍) https://www.zhihu.com/question/20584576(芯片出厂测试) 什么是corner IC测试?   在一片wafer(晶圆)上,不同位置的载流子平均漂移速度存在偏差(和掺杂浓度、扩散深度、刻蚀程度等有关),在不同的电压和 阅读详情

1、Harris Corners角点检测

使用harris corners检测器:

使用OpenCV函数

void cornerHarris( InputArray src, OutputArray dst, int blockSize,
                                int ksize, double k,
                                int borderType=BORDER_DEFAULT );

参数:

blockSize:感兴趣点周围邻居矩阵大小

ksize:孔径大小与sobel方法中的参数一样

k:计算像素点强度值的系数

dst:存放各个像素点的average intensity change值,越大说明越有可能是角点

average internsity change的计算方法:

参考:1、《OpenCV CookBook》P199

         2、http://blog.youkuaiyun.com/crzy_sparrow/article/details/7391511

在《OpenCV CookBook》中对Harris Corners检测器稍稍做了改善,加入了非极大值抑制,也即不但感兴趣点的average internsity change要满足大于threshold,也要是局部极大值

部分代码如下:

	void detect(cv::Mat image)
	{
		cv::cornerHarris(image , cornersStrength ,
			ksize , aperture , k) ;
	}

	cv::Mat  getCornersMap(double threshold)
	{
		double minStrength ;
		cv::minMaxLoc(cornersStrength , &minStrength , &maxStrength) ;
		cv::Mat dilate ;
		cv::dilate(cornersStrength , dilate , cv::Mat()) ;//dilate后只有局部极大值没有改变

		cv::compare(cornersStrength , dilate , localMax , cv::CMP_EQ) ;//因局部极大值未变,所以只有局部极大值出为1
		threshold = threshold * maxStrength ;

		cv::threshold(cornersStrength , cornersMap , threshold , 255 , cv::THRESH_BINARY) ;//强度值满足>threshold
		cornersMap.convertTo(cornersMap , CV_8U) ;
		cv::bitwise_and(cornersMap , localMax , cornersMap) ;//结合得到满足两个条件的点定义为角点
		return cornersMap ;
	}

	void drawImage(cv::Mat &image)
	{
		std::vector<cv::Point> points ;
		for(int i = 0 ; i < cornersMap.rows ; ++ i)
		{
			const uchar * ptr = cornersMap.ptr(i) ;
			for(int j = 0 ; j < cornersMap.cols ; ++ j)
			{
				if(ptr[j])
				{
					points.push_back(cv::Point(j , i)) ;//注意顺序是先X坐标 ,再Y坐标
				}
			}
		}
		std::vector<cv::Point>::const_iterator itc = points.begin() ;
		while (points.end() != itc)
		{
			cv::circle(image , *itc , 3 , cv::Scalar(255) , 2) ;
			itc ++ ;
		}
	}

2、FAST(Features from Accelerated Segment Test)  Feature 

思想:给定候选像素点,指定半径,若圆上连续的超过圆周长3/4的像素点的比候选的中间点明亮或者暗淡,则认为候选点是一个keyPoint,可以使用一个快速判断的技巧:我们先预判断中心点上下左右四个点,它们中至少要有三个符合以上条件才有可能是keyPoint,我们可以先使用这个方法先预判一下。

代码:

	cv::Mat image =  cv::imread ("D:/Development/OpenCV/images/church01.jpg"  , 0);

	std::vector<cv::KeyPoint> keyPoints ;
	cv::FastFeatureDetector FastFD(40) ;
	FastFD.detect(image , keyPoints) ;
	cv::Mat timage = cv::imread ("D:/Development/OpenCV/images/church01.jpg") ;
	cv::drawKeypoints(image , keyPoints , timage , 
		cv::Scalar(-1 , -1 , -1) , cv::DrawMatchesFlags::DRAW_OVER_OUTIMG) ;

因其快速性常常用在视觉追踪中


参考:http://blog.youkuaiyun.com/skeeee/article/details/9405531

角点检测和匹配之Harris与FAST角点检测 这一章主要内容:        1. Harris角点检测        2. FAST特征检测       3. 尺度不变的SURF特征检测       4.SURF检测描述 一、引言         在计算机视觉中,特征点或称兴趣点,角点,被广泛应用,即图像的极值点,线段的终点,曲线曲率最大的点或水平、竖直方向上属性最大的点等等。这些特征点是图像很重要的特征,对图像图形的理解和分析 阅读详情

相关推荐

SLAM硬件加速之FPGA-base ORB(2)——FAST Detector

本系列主要针对的是基于FPGA的加速策略

weixin_40817208的博客 1216

引领未来的边缘检测:edge_detection 插件全解析

引领未来的边缘检测:edge_detection 插件全解析 edge_detectionThis is a flutter plugin to detect edges in a live camera, take the picture of detected edges object, crop it, and save.项目地址:https://gitcode.com/gh_mirror...

gitblog_00094的博客 732

【OpenCV】ChArUco标定板角点的检测Detection of ChArUco Corners

ChArUco标定板

qq_41339558的博客 8497

OpenCV特征点检测

一、Harris角点检测Harris角点: 假定一个特征点,观察特征点周围小窗口(如3X3)内各个方向的强度平均变化,求得平均强度变换最大值的方向,检查该方向的垂直方向的强度变化是否很大(满足设定的阈值)。满足该条件,即为harris角点。 数学表示: 数学表示 I(x,y)表示点(x,y)的强度值。对于偏移向量(u,v),偏移向量可以看成某个方向。它的平均强度变化为: 求和覆盖预定义

林多 1万+

PyTorch双线性插值实战:align_corners参数详解与图像缩放避坑指南

本文深入解析PyTorch中双线性插值的`align_corners`参数,通过3×3转5×5等案例对比True/False模式下的像素偏移现象,并提供语义分割、目标检测等场景的配置建议,帮助开发者避免图像缩放中的常见问题。

weixin_29057695的博客 285

Unity游戏开发:NavMeshAgent到达检测的5种实用方法(附性能对比)

本文深入解析了Unity中NavMeshAgent到达检测的五种核心方法,包括坐标差值比较、剩余距离判定、路径点数量检测、速度比例推断及触发器碰撞检测。通过原理剖析与详尽的性能对比数据,为不同项目规模与平台(如移动端与PC端)提供了优化策略与混合使用方案,帮助开发者构建更流畅、高效的AI寻路系统。

weixin_27943395的博客 369

Opencv学习笔记(三)形态学之检测corners

没什么自己的东西,大致翻译了opencv cook第 五章Detecting edges and corners using  morphological filters部分的一些段落,并且做一个简略的概括。        首先创建四个5x5的不同形状的kernel;          1)kernel a(十字):                              0,0,1,0,

crazy_sparrow的专栏 4643

避坑指南:PyTorch F.interpolate里align_corners参数到底怎么设?一图看懂区别与影响

本文深入解析PyTorch中F.interpolate函数的align_corners参数,通过数学原理和实战案例展示其对图像插值结果的影响。针对不同计算机视觉任务(如语义分割、风格迁移)提供参数选择策略,并揭示常见陷阱与调试技巧,帮助开发者避免模型性能下降。特别强调训练-测试一致性和跨框架兼容性问题,是PyTorch插值操作的终极指南。

weixin_30753873的博客 403

findChessboardCorners求出的Corners按确定顺序排列

目的: 在做平面机械臂(三轴台、SCARA)的手眼标定时,尝试使用棋盘格标定板来实现九点标定,要求每次求出的Corners都按相同的排列顺序,但是bool cv::findChessboardCorners函数求出的Corners排列顺序并不确定,只能对Corners的顺序进行重排 说明: opencv中findChessboardCorners函数是用来检测棋盘格Corners的函数,官方...

weixin_42005205的博客 6524

OpenCV检测拐角detecting corners的实例(附完整代码)

OpenCV检测拐角detecting corners的实例OpenCV检测拐角detecting corners的实例 OpenCV检测拐角detecting corners的实例 #include "opencv2/highgui.hpp" #include "opencv2/imgproc.hpp" #include <iostream> using namespace cv; using namespace std; Mat src, src_gray; Mat myHarris_dst

希望我的博客,能帮上你解决学习中工作中所遇到的问题 704

论文阅读笔记 | 三维目标检测——AVOD算法

AVOD同样是一个two-stage(使用了RPN提取候选框)、anchor-based网络结构。获得较高的召回率对RPN网络来说是比较重要的,但对于稀疏的较低分辨率的输入来说(比如前视图和鸟瞰图)不足以让RPN输出高质量的候选框,且导致低召回率,这会在第二个阶段带来无法逆转的结构。基于这个考虑,AVOD设计了一个新颖的RPN结构可以通过在高分辨率特征图上进行多模态特征融合(将来自RGB图像和BEV的全分辨率特征图为输入),来提高小目标的定位精度。

Clichong 4142

Opencv 学习 Detecting edges and corners using morphological filters边缘,角点检测

【代码】Opencv 学习 Detecting edges and corners using morphological filters边缘,角点检测。

weixin_46702851的博客 115

Android OpenCV(五十三):Shi-Tomasi角点检测

Shi-Tomasi角点检测 在Harris角点检测中,Harris角点评价系数R表示为: R=det(M)−k(trace(M))2 R=det(M)-k(trace(M))^2 R=det(M)−k(trace(M))2 det(M)=λ1λ2 det(M)=λ_1λ_2 det(M)=λ1​λ2​ trace(M)=λ1+λ2 trace(M)=λ_1+λ_2 trace(M)=λ1​+λ2​ 其中det(M)=λ1λ2是矩阵的行列式,trace(M)=λ1+λ2是矩阵的迹 其中det(M)=λ_1

AndroidKt 636

OpenCV2D 特征框架 (5)特征检测与描述检测角点(corners)的类cv::GFTTDetector的使用

cv::GFTTDetector 类是 OpenCV 中用于检测角点(corners)的类,它实现了 Good Features to Track (GFTT) 算法。GFTT 是一种基于 Harris 角点检测器的改进算法,旨在找到图像中好的跟踪特征。该方法在选择特征时不仅考虑了角点响应值,还考虑了特征之间的最小欧氏距离,以确保所选特征分布得更均匀。

jndingxin的专栏 599

修复后找不到ip 黑群晖_黑群晖引导U盘损坏了怎么办?

前言虽然一般来说引导U盘损坏的可能性很小,但是避免不了万一出现问题导致黑群晖没有办法引导进入系统也是一件相当麻烦的事情。这里我就用两块U盘做个小试验,看看如果黑群晖上的引导U盘损坏以后,另一块U盘需要怎样写引导文件才能让黑群晖正常引导进入系统。试验开始我这里黑群晖使用的是DSM6.1.7的系统,U盘一块使用的是闪迪的酷豆,另一块就是闪迪的酷铄。目前系统引导U盘使用的是酷豆,VID:0781 PID...

weixin_36239323的博客 8270

【ADCU详解】PMIC电源管理集成电路详解

自动驾驶域控制器(ADCU)中的电源管理集成电路(PMIC)是高度集成的关键部件,负责为计算核心、传感器等提供高效稳定的多路电源。其核心特点包括:符合车规AEC-Q100标准、支持功能安全ASIL等级、精确的时序控制及强抗干扰能力。PMIC由开关稳压器、LDO、时序控制器、监控保护电路等模块组成,通过分层电源树框架实现电能分配。设计需考虑效率、功率密度、噪声性能等关键维度,底层基于Buck转换器和LDO原理工作。使用中需满足严苛的车规环境要求,并通过静态/动态测试及故障注入测试进行验证,确保系统可靠性和安全

qq_40844444的博客 843

Matlab特征点(角点)匹配,基于SSD

SSD介绍参考:https://blog.youkuaiyun.com/hujingshuang/article/details/47759579 Matlab代码实现: 注:img1,img2为参与特征匹配的图像,corners1,corners2分别为img1,img2上的角点(特征点) function [count,matched]=match(img1,img2,corners1,corners2) img1=im2double(img1);img2=im2double(img2); if size(img1

qq_44310495的博客 5267

ais信号接收设备_国内首款基于软件无线电技术的AIS基站投入测试使用

星网宇达子公司北京凯盾环宇科技有限公司经过多年的潜心研发,成功研制出国内首台基于软件无线电(SDR)的CATON 9011 AIS基站。该基站采用软件无线电技术,利用软件数字技术代替传统的模拟电路,大大的降低了模拟器件的使用率,提高了基站的可靠性和使用年限。CATON 9011 AIS基站研制依据ITU-R M.1371-5、IEC 62320-1、IEC 61162-1等国际标准,兼容...

weixin_29057163的博客 2334

卡证检测矫正模型开发者手册:API调用+JSON字段解析+坐标系说明

本文介绍了如何在星图GPU平台上自动化部署卡证检测矫正模型,实现身份证、护照等证件的自动识别与图像矫正。该模型能精准定位卡证四角并完成透视变换,输出端正的图片,为后续OCR信息提取等高精度识别任务提供高质量的预处理支持。

weixin_33597080的博客 315

从CCS3.3到CCS10:工程迁移与开发环境升级全攻略

本文详细介绍了从CCS3.3迁移到CCS10的完整流程与实战指南。针对老旧DSP项目,阐述了升级的必要性,并逐步指导CCS10的安装配置、界面操作、核心的工程移植步骤,以及移植后常见的代码调整与问题解决方案,帮助开发者高效完成开发环境升级,充分利用新版本的工具链提升开发效率。

weixin_29304985的博客 379

Zynq 双核AMP 通信

4、配置离线编译(这里不讲),配置linux的内核地址空间(0x4000_0000改为0x2000_0000),以及单核启动。CPU1设置为0x2000_0000~0x3FFF_FFFF(也可以小于0x3FFF_FFFF)如果禁用CPU1的L2 cache,在CPU1的bsp里面添加编译时候所需要的宏。3、配置工程,将vivado产生的.xsa文件复制到amp_com项目目录下。9、使用petalinux-package --boot 打包。一、vivado工程。5、编译u-boot。

y183128184的博客 1088

从OpenCV到TensorFlow:图解不同框架下双线性插值的坐标系差异

本文深入解析了OpenCV与TensorFlow在双线性插值实现中的坐标系差异,重点对比了align_corners参数对几何中心点定位的影响。通过数学公式和性能测试数据,揭示了不同框架在图像缩放、上采样任务中的核心机制差异,并提供了跨框架兼容性解决方案和选型建议。

sky77的博客 130

GB28181安防平台未授权访问漏洞:原理、复现与修复指南

未授权访问漏洞是Web安全中常见的访问控制缺陷,其本质在于应用在提供对敏感功能或数据的访问前,未能对请求者的身份和权限进行充分验证。从技术原理上看,这类漏洞常源于拦截器配置错误、安全注解遗漏或自定义校验逻辑缺陷,导致本应受保护的API接口被意外暴露。在工程实践中,此类漏洞危害巨大,攻击者无需登录即可直接访问系统核心接口,可能引发敏感信息泄露、权限提升甚至系统接管。尤其在安防监控、物联网管理平台等场景中,一旦涉及用户管理接口(如`/api/user/**`),风险会急剧放大。本文以GB28181视频监控管理平

weixin_30271335的博客 441

cv2.goodFeaturesToTrack()函数

cv2.goodFeaturesToTrack()函数是用来跟踪检测图像中的角点 这里介绍的是C++中的用法 void goodFeaturesToTrack( InputArray image, OutputArray corners, int maxCorners, double qualityLevel, d...

Eric的博客 2万+

Cadence OrCAD Capture软件启动过程卡死且无法恢复的解决方法

如下图所示Cadence OrCAD Capture软件在启动后出现卡死的现象,且等待后无法自动恢复,需要强行关闭,再次启动依然卡死。

fydar的博客 4045

SAP Fiori Launchpad 概述

SAP Fiori launchpad 是托管 SAP Fiori 应用程序的 shell,并为应用程序提供导航、个性化、嵌入式支持和应用程序配置等服务。SAP Fiori Launchpad 是移动和桌面设备上 SAP Fiori 应用程序的入口点。启动板显示带有图块的主页,其中可以显示实时状态指示器,例如打开的任务数量。每个图块代表用户可以启动的业务应用程序。这包括 SAP Business Suite 事务应用程序和 SAP Smart Business 分析应用程序。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 934
上一篇: OpenCV中findContours函数的使用
下一篇: OpenCV实现好玩的实用的小程序
知行且执行
博客等级 码龄14年 38粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值