信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 1119|回复: 0
打印 上一主题 下一主题

[宣传软件网站动态] opencv原生模板找图转座标方法

[复制链接]

780

主题

864

帖子

5536

积分

积分
5536
跳转到指定楼层
宣传软件楼主
发表于 2025-6-4 08:56:29 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

资讯缩略图:

资讯发布日期:2025-06-04

资讯发布简介:opencv原生模板找图转座标方法

资讯关键词:opencv原生模板找图转座标方法

资讯所属分类:IT资讯 

联系:

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件网站分类目录 网址:http://www.postbbs.com/

资讯详细描述
这段代码是使用OpenCV库进行图像匹配的JavaScript代码示例。它的主要功能是在一个较大的图像中查找一个小图像的位置。以下是代码的详细说明:
  • 导入OpenCV库:

    • importClass(org.opencv.imgproc.Imgproc):导入图像处理类Imgproc,该类包含了图像模板匹配的方法。
    • importClass(org.opencv.imgcodecs.Imgcodecs):导入图像编码解码类Imgcodecs,该类用于读取和写入图像文件,以及将字节数组转换为Mat对象。
    • importPackage(org.opencv.core):导入OpenCV的核心包,包含了图像表示类Mat,以及其他诸如矩形Rect、尺寸Size等类。
  • 定义Base64转Mat函数:

    • base64ToMat(base64):这个函数接收一个Base64编码的字符串作为参数,将其解码为字节数组,然后使用Imgcodecs.imdecode方法将字节数组转换为Mat对象,并返回这个Mat对象。
    • android.util.Base64.decode(base64, android.util.Base64.DEFAULT):解码Base64编码的图像字符串。
    • Imgcodecs.imdecode(new MatOfByte(decodedBytes), Imgcodecs.IMREAD_COLOR):将解码得到的字节数组转换为Mat对象,其中IMREAD_COLOR表示以彩色模式读取图像。
  • 准备图像数据:

    • small 和 big:这两个变量分别存储了小图像和大图像的Base64编码字符串。你需要将实际的Base64编码字符串替换此处的占位符文本。
    • sourceMat 和 templateMat:通过base64ToMat函数将小图像和大图像的Base64编码字符串转换为Mat对象,分别存储在这两个变量中。
  • 图像匹配:

    • for (var i = 0; i < 200; i++) {...}:循环200次进行图像匹配操作。
    • Imgproc.matchTemplate(sourceMat, templateMat, result, Imgproc.TM_CCOEFF_NORMED):在大图像(sourceMat)中查找小图像(templateMat),并将匹配结果存储在result Mat对象中。TM_CCOEFF_NORMED是一种匹配方法。
    • Core.minMaxLoc(result):计算匹配结果矩阵中最小值和最大值的位置和值。
    • if (mmr.maxVal > 0.9) {...}:如果匹配的最大值大于0.9(即匹配度超过90%),则认为找到了匹配的小图像。
    • var rect = new Rect(mmr.maxLoc, new Size(templateMat.cols(), templateMat.rows())):根据匹配结果的最大值位置创建一个矩形对象,该矩形的大小与小图像相同。
    • printl("匹配结果",i, "找到模板在位置: " + rect):打印匹配结果,包括匹配次数和找到的小图像的位置。
  • 释放资源:

    • result.release():每次循环后释放结果Mat对象占用的内存。
    • printl(i, '耗时', (new Date().getTime() - t)):循环结束后打印总的匹配次数和整个过程耗时。
    • sourceMat.release();templateMat.release();:最后释放大图像和小图像的Mat对象占用的内存。
这段代码适用于在安卓平台上使用JavaScript调用OpenCV库进行图像匹配,例如在自动化测试脚本中查找某个按钮或图标在屏幕上的位置。注意,实际运行时需要确保OpenCV已正确集成到你的项目中。


  1. importClass(org.opencv.imgproc.Imgproc)
  2. importClass(org.opencv.imgcodecs.Imgcodecs);
  3. importPackage(org.opencv.core);

  4. function base64ToMat(base64) {
  5.     // 解码Base64字符串为字节数组
  6.     var decodedBytes = android.util.Base64.decode(base64, android.util.Base64.DEFAULT);
  7.     // 使用Imgcodecs将字节数组转换为Mat对象
  8.     var mat = Imgcodecs.imdecode(new MatOfByte(decodedBytes), Imgcodecs.IMREAD_COLOR);
  9.     return mat;
  10. }


  11. var small = "这里是你的小图像Base64编码字符串";
  12. var big = "这里是你的大图像Base64编码字符串";
  13. var sourceMat = base64ToMat(small)
  14. var templateMat = base64ToMat(big)

  15. // var sourceMat = screen.screenShot(432, 768, 100).getMat()
  16. // var sourceMat = Imgcodecs.imread('/sdcard/Pictures/2.jpg');
  17. // var templateMat = Imgcodecs.imread('/sdcard/Pictures/1.jpg');

  18. var t = new Date().getTime()
  19. for (var i = 0; i < 200; i++) {
  20.     var result = new org.opencv.core.Mat();
  21.     Imgproc.matchTemplate(sourceMat, templateMat, result, Imgproc.TM_CCOEFF_NORMED);
  22.     var mmr = Core.minMaxLoc(result);
  23.     if (mmr.maxVal > 0.9) {
  24.         var rect = new Rect(mmr.maxLoc, new Size(templateMat.cols(), templateMat.rows()));
  25.         printl("匹配结果",i, "找到模板在位置: " + rect);
  26.     }
  27.     result.release();
  28. }
  29. printl(i, '耗时', (new Date().getTime() - t))
  30. sourceMat.release();
  31. templateMat.release();

复制代码




untohui动态生成复选框显示所有appnextAIWROK软件自定义Activity页面背景图片
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读
群发软件IOS苹果脚本TXT文件读写H5日志打印完整示例
IOS苹果脚本TXT文件读写H5日志打印完整示例
群发软件AIWROK软件演示多线程创建暂停恢复
AIWROK软件演示多线程创建暂停恢复
群发软件AIWROK软件定时检查页面状态防止卡死技巧
AIWROK软件定时检查页面状态防止卡死技巧
群发软件安卓脚本runTime相关功能示例
安卓脚本runTime相关功能示例
群发软件floatUI实例秒显示秒关闭吐司功能
floatUI实例秒显示秒关闭吐司功能
群发软件苹果脚本HID多行实例粘帖板示例
苹果脚本HID多行实例粘帖板示例
群发软件安卓脚本HID节点查找完整方法示例
HID节点查找完整方法示例
群发软件AIWROK软件框架的抖音自动化营销系统
AIWROK软件框架的抖音自动化营销系统
群发软件赛博朋克任务控制中心H5示例
赛博朋克任务控制中心H5示例
群发软件苹果脚本现代深色UI设计风格
现代深色UI设计风格
群发软件AIWROK软件智能任务监控悬浮窗
AIWROK软件智能任务监控悬浮窗
群发软件AIWROK软件事件监听示例
AIWROK软件事件监听示例
群发软件QZ掘金原生UI界面
QZ掘金原生UI界面
群发软件安卓脚本auto方法完整示例
安卓脚本auto方法完整示例
群发软件安卓脚本暂停弹出确认对话框
安卓脚本暂停弹出确认对话框
群发软件苹果iOS脚本天气信息查询工具
苹果iOS脚本天气信息查询工具
群发软件安卓脚本简化版H5日志输出窗口
安卓脚本简化版H5日志输出窗口
群发软件安卓脚本简化版H5日志输出窗口
安卓脚本简化版H5日志输出窗口
群发软件安卓脚本应用重置、代理模式监控及补丁升级
安卓脚本应用重置、代理模式监控及补丁升级
群发软件安卓脚本里的打开关闭安装以及卡密授权信息
安卓脚本里的打开关闭安装以及卡密授权信息
群发软件AIWROK软件脚本GET下载文件并检测0KB工具
AIWROK软件脚本GET下载文件并检测0KB工具
群发软件安卓脚本HID按键方法完整示例
安卓脚本HID按键方法完整示例
群发软件AIWROK软件键鼠HID滑动所有方法功能演示
AIWROK软件键鼠HID滑动所有方法功能演示
群发软件苹果脚本里HID的5种滑动方法的使用
苹果脚本里HID的5种滑动方法的使用
群发软件苹果脚本示例7种不同的OCR识别和点击方法
苹果脚本示例7种不同的OCR识别和点击方法
群发软件AIWROK软件安卓脚本FTP上传下载例子
AIWROK软件安卓脚本FTP上传下载例子
群发软件AIWROK软件脚本JSON转换示例
AIWROK软件脚本JSON转换示例
群发软件AIWROK软件运算符高级应用实例
AIWROK软件运算符高级应用实例
群发软件JavaScript语法小示例
JavaScript语法小示例
群发软件展示JavaScript各种语句标识符的实际应用
展示JavaScript各种语句标识符的实际应用
群发软件AIWROK条件语句实用示例智能活动推荐系统
AIWROK条件语句实用示例智能活动推荐系统
群发软件AIWROK软件示例数组方法实战应用
AIWROK软件示例数组方法实战应用
群发软件示例JavaScript的 try-catch-finally-throw用法
示例JavaScript的 try-catch-finally-throw用法
群发软件JavaScript 高级错误处理实战示例
JavaScript 高级错误处理实战示例
群发软件安卓脚本AIWROK软件示例JS函数高级用法
安卓脚本AIWROK软件示例JS函数高级用法
群发软件AIWROK环境JavaScript编码规范完整示例
AIWROK环境JavaScript编码规范完整示例
群发软件安卓脚本示例实时截图判断页面变化
安卓脚本示例实时截图判断页面变化
群发软件苹果脚本7种不同的OCR识别
苹果脚本7种不同的OCR识别
群发软件安卓脚本多变的function用法
安卓脚本多变的function用法
群发软件苹果脚本示例Config配置H5集成
苹果脚本示例Config配置H5集成
群发软件安卓脚本类型判断与Boolean对象综合示例
安卓脚本类型判断与Boolean对象综合示例
群发软件线程全局变量H5可视化控制台
线程全局变量H5可视化控制台
群发软件秒吐司快速显示和关闭的UI提示窗口
秒吐司快速显示和关闭的UI提示窗口
群发软件苹果脚本里H5 里的 window.at.callFun 示例
苹果脚本里H5 里的 window.at.callFun 示例
群发软件H5日志打印运行过程例子
H5日志打印运行过程例子
群发软件AIWROK软件字符串方法实用案例
AIWROK软件字符串方法实用案例
群发软件HID贝塞尔曲线运动控制器
HID贝塞尔曲线运动控制器
群发软件AIWROK苹果脚本sleep方法综合实战示例
AIWROK苹果脚本sleep方法综合实战示例
群发软件苹果脚本Line控件的多种创意用法和实际应用场景
苹果脚本Line控件的多种创意用法和实际应用场景
群发软件苹果脚本toast高级应用综合示例
苹果脚本toast高级应用综合示例
群发软件苹果智能OCR自动化助手
苹果智能OCR自动化助手
群发软件苹果脚本UI超快速点击示例
苹果脚本UI超快速点击示例
群发软件展示时间戳的各种复杂处理方法
展示时间戳的各种复杂处理方法
群发软件苹果脚本随机数实用示例
苹果脚本随机数实用示例
群发软件安卓手机脚本多种倒计时显示方式
安卓手机脚本多种倒计时显示方式
群发软件苹果脚本屏幕事件EVENT示例
苹果脚本屏幕事件EVENT示例
群发软件苹果脚本屏幕类screen例子
苹果脚本屏幕类screen例子
群发软件安卓手机config配置演示实列
安卓手机config配置演示实列
群发软件苹果脚本配置config小实例
苹果脚本配置config小实例 https://www.yuque.com/aiwork/dcvhmb/qolobpysdg0hvi2e
群发软件苹果脚本矩形类rect小实例
苹果脚本矩形类rect小实例
群发软件AIWROK安卓苹果平台设计的实用工具库
AIWROK安卓苹果平台设计的实用工具库
群发软件AIWROK软件Function导入方法实例演示
AIWROK软件Function导入方法实例演示
群发软件苹果脚本实例1项目project应用示例
苹果脚本实例1项目project应用示例
群发软件苹果脚本实例1剪贴板功能集成
苹果脚本实例1剪贴板功能集成
群发软件苹果iOS脚本Detect类系统性使用示例
苹果iOS脚本Detect类系统性使用示例

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2026-6-24 07:59 , Processed in 0.594865 second(s), 51 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表