自动发帖软件

标题: AWIROK软件opencv原生模板找图转座标方法 [打印本页]

作者: 发帖软件    时间: 3 天前
标题: AWIROK软件opencv原生模板找图转座标方法
这段代码是使用OpenCV库进行图像匹配的JavaScript代码示例。它的主要功能是在一个较大的图像中查找一个小图像的位置。以下是代码的详细说明:
这段代码适用于在安卓平台上使用JavaScript调用OpenCV库进行图像匹配,例如在自动化测试脚本中查找某个按钮或图标在屏幕上的位置。注意,实际运行时需要确保OpenCV已正确集成到你的项目中。
AWIROK软件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();

复制代码



1.png (727.7 KB, 下载次数: 6)

1.png





欢迎光临 自动发帖软件 (http://www.fatiegongju.com/) Powered by Discuz! X3.2