视频网站建设公司网站icon图标怎么设置

张小明 2026/1/8 16:55:07
视频网站建设公司,网站icon图标怎么设置,上海互联网企业,公司网站.可以自己做吗前言前面已经介绍过了OpenCVSharp中封装的几个特征检测算法#xff0c;其实里面还有很多特征检测算法#xff0c;不再一篇一篇地介绍了#xff0c;其它的都放在这一篇#xff0c;简单过一下#xff0c;有点印象即可。FAST特征检测FAST#xff08;Features from Accelerat…前言前面已经介绍过了OpenCVSharp中封装的几个特征检测算法其实里面还有很多特征检测算法不再一篇一篇地介绍了其它的都放在这一篇简单过一下有点印象即可。FAST特征检测FASTFeatures from Accelerated Segment Test是一种高效的特征点检测算法它通过比较候选像素点周围圆形区域上连续像素的强度差异来识别角点特征。该算法的核心思想是如果某个像素点周围有足够多的连续像素比该点亮或暗足够大的阈值则认为该点是一个特征点。FAST算法以其计算速度快、实现简单而著称特别适合需要实时处理的应用场景如视频跟踪、SLAM同步定位与地图构建和增强现实等。相比SIFT、SURF等复杂特征检测算法FAST在保持较好检测效果的同时大幅提升了处理速度使其成为计算机视觉领域中广泛使用的基础特征检测方法之一。// 读取图像 using Mat imgSrc new Mat(ImagePath, ImreadModes.Color); using Mat imgGray new Mat(); using Mat imgDst imgSrc.Clone(); // 转换为灰度图像 Cv2.CvtColor(imgSrc, imgGray, ColorConversionCodes.BGR2GRAY, 0); // 使用FAST算法检测特征点 // 参数说明输入图像、阈值、是否启用非极大值抑制 KeyPoint[] keypoints Cv2.FAST(imgGray, 50, true); // 在图像上绘制检测到的特征点 foreach (KeyPoint kp in keypoints) { imgDst.Circle((Point)kp.Pt, 3, Scalar.Red, -1, LineTypes.AntiAlias, 0); }其过程就是读取图像、图像灰度化、FAST特征检测与绘制特征点。现在来看下FAST方法public static KeyPoint[] FAST(InputArray image, int threshold, bool nonmaxSupression true) { if (image null) { throw new ArgumentNullException(image); } image.ThrowIfDisposed(); using VectorOfKeyPoint vectorOfKeyPoint new VectorOfKeyPoint(); NativeMethods.HandleException(NativeMethods.features2d_FAST1(image.CvPtr, vectorOfKeyPoint.CvPtr, threshold, nonmaxSupression ? 1 : 0)); GC.KeepAlive(image); return vectorOfKeyPoint.ToArray(); }这是OpenCvSharp库中FAST特征检测算法的核心实现函数用于在灰度图像中快速检测角点特征。参数名类型含义默认值说明imageInputArray输入的灰度图像无必须是灰度图像用于检测角点特征thresholdint强度差异阈值无中心像素与周围圆形区域像素的强度差异阈值值越大检测到的特征点越少但更稳定nonmaxSupressionbool非极大值抑制true是否对检测到的角点应用非极大值抑制启用后会消除重复或相近的角点这样就可以得到一组特征点如下所示绘制出来如下所示FREAK特征检测FREAKFast Retina Keypoint是一种受人类视网膜视觉系统启发的快速二进制特征描述符它通过模仿视网膜神经细胞的密集中心-稀疏周围的采样模式来提取图像局部特征。该算法首先使用其他关键点检测器如ORB、FAST等定位图像中的显著点然后在这些点周围构建一个类似视网膜结构的采样模式通过比较不同采样区域间的像素强度对来生成紧凑的二进制描述符。FREAK描述符具有计算效率高、内存占用小、匹配速度快的特点同时对旋转、尺度变化和光照变化具有良好的鲁棒性使其广泛应用于实时图像匹配、物体识别、视觉SLAM和增强现实等计算机视觉任务中。// 读取图像 using var gray new Mat(ImagePath, ImreadModes.Grayscale); using var dst new Mat(ImagePath, ImreadModes.Color); // ORB检测关键点 using var orb ORB.Create(1000); KeyPoint[] keypoints orb.Detect(gray); // FREAK计算描述符 using var freak FREAK.Create(); Mat freakDescriptors new Mat(); freak.Compute(gray, ref keypoints, freakDescriptors); // 在图像上绘制检测到的特征点 if (keypoints ! null) { var color new Scalar(0, 255, 0); foreach (KeyPoint kpt in keypoints) { float r kpt.Size / 2; Cv2.Circle(dst, (Point)kpt.Pt, (int)r, color); Cv2.Line(dst, (Point)new Point2f(kpt.Pt.X r, kpt.Pt.Y r), (Point)new Point2f(kpt.Pt.X - r, kpt.Pt.Y - r), color); Cv2.Line(dst, (Point)new Point2f(kpt.Pt.X - r, kpt.Pt.Y r), (Point)new Point2f(kpt.Pt.X r, kpt.Pt.Y - r), color); } }先用ORB检测关键点然后再用FREAK特征检测。来看下FREAK.Create方法的签名public static FREAK Create( bool orientationNormalized true, bool scaleNormalized true, float patternScale 22.0f, int nOctaves 4, IEnumerableint? selectedPairs null)这个函数是OpenCV中FREAK特征描述符的工厂方法用于创建和配置FREAK描述符实例。查看参数含义参数名类型默认值含义说明orientationNormalizedbooltrue启用方向归一化使描述符对图像旋转具有不变性scaleNormalizedbooltrue启用尺度归一化使描述符对图像缩放具有不变性patternScalefloat22.0f描述符模式的缩放因子控制采样模式的整体大小nOctavesint4检测关键点覆盖的八度组数量决定尺度范围selectedPairsIEnumerable?null用户自定义的采样对集合可优化性能或适应特定场景再来看下Compute方法的签名public virtual void Compute(InputArray image, ref KeyPoint[] keypoints, OutputArray descriptors)该函数接收输入图像和关键点数组为每个关键点计算对应的特征描述符并返回描述符矩阵。效果KAZE/AKAZE特征检测KAZE和AKAZE是两种先进的图像特征检测算法用于识别图像中的关键点并提取其描述符。KAZEKeyframes of Accelerated Speeded-up Robust Features采用非线性尺度空间构建方法通过非线性扩散滤波来检测特征点对图像模糊和噪声具有出色的鲁棒性。AKAZEAccelerated-KAZE是KAZE的优化版本使用快速显式扩散FED算法显著提高了计算速度同时保持了特征检测的质量。这两种算法都能在旋转、缩放和亮度变化等条件下稳定地检测特征点广泛应用于图像匹配、物体识别、三维重建和增强现实等计算机视觉任务中。// 创建KAZE和AKAZE特征检测器 using var kaze KAZE.Create(); using var akaze AKAZE.Create(); var kazeDescriptors new Mat(); var akazeDescriptors new Mat(); KeyPoint[] kazeKeyPoints null, akazeKeyPoints null; // 测量KAZE处理时间 var kazeTime MeasureTime(() kaze.DetectAndCompute(gray, null, out kazeKeyPoints, kazeDescriptors)); // 测量AKAZE处理时间 var akazeTime MeasureTime(() akaze.DetectAndCompute(gray, null, out akazeKeyPoints, akazeDescriptors)); // 创建结果图像 var dstKaze new Mat(); var dstAkaze new Mat(); // 读取彩色图像用于绘制特征点 using var colorImage new Mat(ImagePath, ImreadModes.Color); // 绘制KAZE特征点 Cv2.DrawKeypoints(colorImage, kazeKeyPoints, dstKaze); // 绘制AKAZE特征点 Cv2.DrawKeypoints(colorImage, akazeKeyPoints, dstAkaze)查看KAZE.Create函数签名public static KAZE Create( bool extended false, bool upright false, float threshold 0.001f, int nOctaves 4, int nOctaveLayers 4, KAZEDiffusivityType diffusivity KAZEDiffusivityType.DiffPmG2)这是OpenCV中KAZE特征检测器的工厂方法实现用于创建和配置KAZE算法实例。参数名参数含义默认值extended是否启用扩展描述符128字节falseupright是否使用直立描述符非旋转不变falsethreshold检测器响应阈值0.001fnOctaves图像最大金字塔层数4nOctaveLayers每个尺度层的子级别数量4diffusivity扩散类型DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT, DIFF_CHARBONNIERKAZEDiffusivityType.DiffPmG2查看AKAZE.Create函数签名public static AKAZE Create(AKAZEDescriptorType descriptorType AKAZEDescriptorType.MLDB, int descriptorSize 0, int descriptorChannels 3, float threshold 0.001f, int nOctaves 4, int nOctaveLayers 4, KAZEDiffusivityType diffusivity KAZEDiffusivityType.DiffPmG2)这是OpenCV中AKAZE特征检测器的工厂方法实现用于创建和配置AKAZE算法实例。AKAZEAccelerated-KAZE是KAZE算法的加速版本通过快速显式扩散FED算法提高了计算速度。参数名参数含义descriptorType描述符类型DESCRIPTOR_KAZE, DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB, DESCRIPTOR_MLDB_UPRIGHTdescriptorSize描述符的位数0表示完整大小descriptorChannels描述符中的通道数1, 2, 3threshold检测器响应阈值nOctaves图像最大金字塔层数nOctaveLayers每个尺度层的子级别数量diffusivity扩散类型DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT, DIFF_CHARBONNIER查看DrawKeypoints函数签名public static void DrawKeypoints( InputArray image, IEnumerableKeyPoint keypoints, InputOutputArray outImage, Scalar? color null, DrawMatchesFlags flags DrawMatchesFlags.Default)这个函数是OpenCV中用于在图像上绘制特征点的静态方法。它接受源图像和检测到的关键点列表然后在输出图像上可视化这些特征点。参数名参数含义image源图像keypoints从源图像中检测到的关键点集合outImage输出图像其内容取决于flags参数定义的绘制方式color特征点的颜色默认为null表示使用随机颜色flags绘制特征的标志由DrawMatchesFlags枚举定义控制特征点的绘制样式效果Star特征检测Star特征检测是一种基于图像强度的特征点检测算法它通过在不同尺度上寻找图像中的星形结构来识别关键点。该算法使用多尺度分析技术能够检测不同大小的特征点对图像中的角点和斑点都很敏感。Star检测器的工作原理是首先将图像转换为灰度图然后通过计算每个像素点在不同尺度下的响应值来识别具有显著特征的点最后应用非极大值抑制来筛选出最优的特征点。这种检测器特别适用于图像配准、物体识别、三维重建和图像拼接等计算机视觉应用因为它能够提供稳定且可重复的特征点即使在图像发生尺度变化或轻微旋转时也能保持较好的检测效果。// 读取图像 using Mat imgSrc new Mat(ImagePath, ImreadModes.Color); using Mat imgGray new Mat(); using Mat imgDst imgSrc.Clone(); // 转换为灰度图像 Cv2.CvtColor(imgSrc, imgGray, ColorConversionCodes.BGR2GRAY, 0); // 使用StarDetector算法检测特征点 StarDetector detector StarDetector.Create(MaxSize, ResponseThreshold, LineThresholdProjected, LineThresholdBinarized, SuppressNonmaxSize); KeyPoint[] keypoints detector.Detect(imgGray); // 在图像上绘制检测到的特征点 if (keypoints ! null) { var color new Scalar(0, 255, 0); // 绿色 foreach (KeyPoint kpt in keypoints) { float r kpt.Size / 2; Cv2.Circle(imgDst, (Point)kpt.Pt, (int)r, color); Cv2.Line(imgDst, (Point)new Point2f(kpt.Pt.X r, kpt.Pt.Y r), (Point)new Point2f(kpt.Pt.X - r, kpt.Pt.Y - r), color); Cv2.Line(imgDst, (Point)new Point2f(kpt.Pt.X - r, kpt.Pt.Y r), (Point)new Point2f(kpt.Pt.X r, kpt.Pt.Y - r), color); } }使用过程就是读取图像、转换为灰度图像、使用StarDetector算法检测特征点与在图像上绘制检测到的特征点。查看StarDetector.Create函数签名public static StarDetector Create( int maxSize 45, int responseThreshold 30, int lineThresholdProjected 10, int lineThresholdBinarized 8, int suppressNonmaxSize 5)这个函数是 OpenCV 中 StarDetector 类的静态工厂方法用于创建一个 Star 特征检测器的实例。参数名默认值含义maxSize45控制检测的最大特征点尺寸较大的值可以检测更大的特征结构responseThreshold30响应阈值用于过滤掉响应值低于此阈值的特征点提高检测质量lineThresholdProjected10投影线阈值用于控制线状结构的检测灵敏度lineThresholdBinarized8二值化线阈值进一步细化线状特征的检测标准suppressNonmaxSize5非极大值抑制的邻域大小用于在局部区域内保留最强的特征点效果
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

一个网站的入口网页又称为下载asp网站

定位bug之前要确定自己对用例的理解是否有问题。(在工作中,很多测试结果错误都是因为自己对用例的理解没有到位,以致于操作错误导致结果不符合预期) 一般来说bug分为前端bug和后端bug,前端bug为请求数据错误,后端bug为…

张小明 2026/1/7 21:25:00 网站建设

站点传统的推广方式主要有全景网站开发待遇

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个AI增强的Clangd插件,能够分析代码上下文并提供智能补全建议。功能包括:1) 基于Kimi-K2模型理解代码语义 2) 支持C/C语言的智能补全 3) 学习项目代码…

张小明 2026/1/7 21:25:03 网站建设

永久免费wap建站网站建设管理是

Wan2.2-T2V-A14B能否生成带有讽刺意味的社会评论短片? 在社交媒体上,一段30秒的AI生成短片悄然走红:画面中,一群西装革履的政客在金碧辉煌的大厅里举杯庆祝“贫困已彻底消除”,而窗外却是排成长龙、低头领取救济粮的平…

张小明 2026/1/7 21:24:59 网站建设

山东省建设厅网站特种作业杨浦建设机械网站

目录标题 MySQL 审计级别配置指南一、当前环境审计配置1.1 已安装的审计插件1.2 当前审计参数 二、Percona Audit Plugin 审计级别详解Policy 对照表 三、各级别详细说明Level 0: NONE(关闭审计)Level 1: LOGINS(基础审计)Level 2…

张小明 2026/1/7 21:25:00 网站建设

江阴网站制作棋牌源码

最近更新了IDEA为最新版,虽然保存了,但还是一部分插件失效了,需要重新下载,下载插件时不是安装慢就是超时,总之就是安装不上,还是记录一下,说不定以后哪天还能用到, 1.查找 国内插件…

张小明 2026/1/7 21:25:06 网站建设

建立网站怎么搞想学动漫设计报什么专业

FPGA实现非线性逻辑门:当神经网络遇上硬件逻辑你有没有想过,有一天“与门”、“或门”这些数字电路中最基础的元件,也能具备“学习能力”?这听起来像是科幻小说的情节,但随着AI与嵌入式系统的深度融合,一个…

张小明 2026/1/7 21:25:07 网站建设