SURF、SIFT 特征检测
介绍:SURF特征检测是源码一种尺度不变特征检测技术,它能够在不同尺度下检测到一致的源码物体关键点,并且每个检测到的源码c activex 源码特征点都关联一个尺度因子。理想状态下,源码两个尺度因子之间的源码比值应当与图像尺度的比值相同。SURF特征的源码全称是加速稳健特征(Speeded Up Robust Feature),它不仅实现了尺度不变性,源码还具备高效计算的源码特点。
实现原理:
例子代码:
效果图
2. SIFT特征检测
实现原理:
例子代码:
效果图
欢迎关注我的源码微信公众号“OpenCV图像处理算法”,主要分享我在学习图像处理算法过程中的源码心得,内容涵盖特征提取、源码目标跟踪、源码定位、机器学习和深度学习等领域。每个案例都会附上源码和相关资料,期待与同行交流,共同进步。
Robust 2.0:支持Android R8的升级版热修复框架
美团Robust热修复框架针对Android R8的升级版,致力于解决热修复补丁制作中遇到的挑战,实现高准确性和自动化。极速建站源码R8作为Google推出的代码优化混淆工具,取代了Proguard,改善了Android构建过程中的字节码体积和性能。随着Android构建工具链的升级至官方新版本,R8替代了Proguard和Dex,给热修复补丁制作带来了新的问题和解决方案。
热修复补丁制作流程包括基于线上代码进行逻辑修复,二次打包,自动比较修复包和线上包的差异,最后制作出轻量级补丁包。面对R8带来的挑战,Robust在适配过程中,首先对Android编译和构建过程进行深入分析,识别出导致补丁制作不准确的关键因素:结构化变化,如类、字段、方法在编译和混淆过程中的消失、合并、内联等。其次,Robust提出整体解决方案,通过将改动识别前置至优化混淆前,直播 网站 源码结合线上APK结构化解析,校正补丁代码对线上代码的调用,生成patch.jar,使用R8对patch.jar进行混淆、脱糖和生成Dex,最终打包为patch.apk。
在解决R8与Proguard优化对比问题时,Robust关注R8的优化规则与Proguard的差异,通过构建参数、反射或源码修改实现规则禁用,尽管规则不完全对应,但基本实现了相同的优化效果。对于识别“真”“假”改动,Robust通过模糊处理数字编号、分析桥接方法访问规则,以及处理组件化项目中Lambda表达式等复杂情况,确保改动识别的准确性和全面性。
内联识别与处理方面,Robust确保方法调用的合法性,关注类、字段、方法的大漠找字 源码存在与可访问性,如果线上包中不存在或不可访问,补丁生成阶段需做相应的处理,例如,将方法视为新增或使用反射调用。混淆问题与优化中,Robust仅对发生变更的类进行混淆,减少了混淆不一致的概率,并在生成补丁后通过对比校验确保混淆的一致性。
在其他优化方面,Robust针对super指令的模拟实现,采用辅助类解决super调用问题,以及函数插桩与修复,包括复制构造函数、处理静态初始化函数clinit,确保修复过程的正确性和兼容性。对于新增类、成员变量和方法的处理,Robust通过新增类或辅助类维持映射关系,确保热修复补丁的全面覆盖。
总结而言,Robust热修复框架在适配Android R8过程中,通过深入分析编译和构建过程,同城娱乐源码结合字节码工具和自动化处理技术,成功解决了热修复补丁制作中的各种挑战,实现了高准确性和自动化补丁生成,为Android应用的持续稳定运行提供了有力支持。
款最好的 C/C++ 编译器和集成开发环境,初学者收藏夹必备
在web开发领域,除了Java、.Net、PHP等语言,C和C++凭借其持久的魅力和高效性能,仍然受到开发者们的广泛关注。这两种语言的强健特性得益于其robust函数集,提供了极高的安全性和可靠性。接下来,我们将要介绍一系列针对C和C++开发的卓越IDE(集成开发环境)和编译器,这些工具对于初学者来说是宝贵的资源。
首先,开源的kDevelop是一个可扩展的IDE,基于KDevPlatform,为C/C++和其它语言提供基础。Anjuta Devstudio则以其丰富的功能脱颖而出,包括项目管理、应用程序向导和强大的调试器等,为C/C++程序开发提供了强大的用户界面支持。
Code Blocks作为免费开源的选择,以其高效的用户界面和全面的编译器、调试器受到青睐。Visual-Mingw则专为Windows开发者设计,简化了API使用,适用于快速开发。在线工具Ideone不仅支持C和C++,还能编译和调试多种语言,提高了开发效率。
Eclipse CDT是业界公认的IDE,提供项目管理、源代码导航和强大的调试工具,成为开发者的首选。Compilr则是一个在线IDE,支持多种编程语言,方便用户编写代码和创建简单用户界面。
Code Lite作为跨平台的免费IDE,适合Windows、OS X和Linux用户。Netbeans C++则提供了丰富的项目模板和多种开发功能,如代码辅助、单元测试和源代码管理。
IDE方面,Dev C++是个全面的工具包,包含类查看器、集成调试器和GCC编译器支持。Ultimate++则集成了C++模块化概念,兼容GCC、MinGW和Visual C++。DigitalMars编译器以其高性能和丰富特性,包括快速编译、文档阅读和在线更新,是C++开发者的强力武器。
编译器方面,C-Free和MinGW提供了对微软运行时功能的访问,Tiny C Compiler则以其便携性和灵活性著名。无论你是初学者还是专业开发者,这些工具都将助你更有效地进行C/C++项目开发。
学习编程是一个团队协作的过程,如果你在学习C/C++或寻找学习资源,不妨私信给小编,我们将提供全套免费的学习资料和视频,共同进步。
怎样将电网频率用于多媒体取证?面向音频取证的电网频率检测与增强有源码
多媒体来源取证与真伪取证的方法有很多种,其中一种有趣的取证方法是通过分析音频中的电网频率(俗称电流声)在音频中留下的痕迹,可以有效地检测音视频文件的产生时间,并进行各种取证。该方法由武汉大学的华光等老师提出,文末有源代码,供感兴趣的老师和同学参考。
电网频率(electric network frequency,ENF)是指交流电网的传输频率,我国标称值为 Hz(其他国家也有 Hz),是被动多媒体取证的重要判据。它之所以能够成为取证判据,主要有三个原因:首先,交流电和用电器的活动会产生以标称频率为基波的声学震动以及照明设备的灯光闪烁,这些不易被人感知的振动和闪烁可以被音视频录制设备捕捉,形成一种“被动不可见水印”;其次,电网频率在标称值附近随机小范围波动,赋予了电网频率轨迹的独特性;第三,电网频率波动模式在同一电网内部所有位置保持一致,赋予了电网频率波动的一致性。经过多年的发展,电网频率判据已可用于音视频文件产生时间溯源、篡改检测与定位、地理位置溯源、重放攻击检测等取证任务。目前,电网频率分析是录音文件产生时间被动溯源的唯一有效方法。
然而,基于电网频率判据的数字取证研究仍面临一些困难。首先,并不是任意设备在任意条件下都能成功捕捉电网频率;其次,电网频率相对于录音内容和环境噪声十分微弱,在无法控制录音条件的实际取证任务中难以进行有效提取和分析。针对这两个问题,本项工作分别提出了录音文件中电网频率的检测和增强算法,并建立并开源了目前最大的“电网频率-武汉大学”(ENF-WHU)真实世界录音文件数据集,用于对相关算法进行全面评估。
为确认待验录音文件中是否存在电网频率以保证后续取证分析有效,本工作从信号检测理论出发,逐步放宽对信号模型的假设,推导出电网频率的一系列理论和实际检测器。其中,只有本工作提出的TF-detector为恒虚警率(CFAR)检测器。
由于信号模型和特性的巨大差异,现有语音(或其他信号)的增强的方法均无法有效增强电网频率信号。对于检测到电网频率的录音文件,为提升其可用性,本工作提出了一种适合电网频率随机小范围缓慢波动特性的鲁棒滤波算法(robust filtering algorithm,RFA),将观测到的带噪电网频率信号调制到正弦频率调频(SFM)解析信号的瞬时频率,并引入核函数,通过处理其产生的正弦时频分布,逐个恢复去噪后的电网频率观测样本,显著提升了电网频率轨迹的质量,为后续取证分析提供了可靠数据。
以上工作为提升电网频率判据在实际取证中的可靠性,促进基于电网频率判据的录音文件取证从实验室走向实际应用提供了技术支撑。相关成果于和年分别发表在IEEE Transactions on Information Forensics and Security,作者为武汉大学华光、张海剑、廖晗、王清懿、叶登攀。
ENF-WHU数据集和MATLAB程序已开源:
github.com/ghuawhu/ENF-...
Guang Hua and Haijian Zhang*, “ENF signal enhancement in audio recordings,” IEEE Transactions on Information Forensics and Security, vol. , pp. -, .
Guang Hua, Han Liao, Qingyi Wang, Haijian Zhang*, and Dengpan Ye, “Detection of electric network frequency in audio recordings – from theory to practical detectors,” IEEE Transactions on Information Forensics and Security, vol. , pp. -, .
2024-12-24 08:37
2024-12-24 08:26
2024-12-24 08:10
2024-12-24 07:12
2024-12-24 06:58