B2B网络软件

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

作者: YYPOST群发软件    时间: 3 天前
标题: AWIROK软件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();

复制代码
AWIROK软件opencv原生模板找图转座标方法 B2B网络软件
AWIROK软件opencv原生模板找图转座标方法 B2B网络软件

  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();

复制代码







欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2