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

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

[宣传软件网站动态] AIWROK软件苹果IOS系统图色视觉[opencv]方法小结

[复制链接]

779

主题

863

帖子

5530

积分

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

资讯缩略图:

资讯发布日期:2025-09-09

资讯发布简介:AIWROK软件苹果IOS系统图色视觉[opencv]方法小结

资讯关键词:AIWROK软件苹果IOS系统图色视觉[opencv]方法小结

资讯所属分类:IT资讯 SEO资讯 

联系:

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

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

资讯详细描述
AIWROK软件苹果IOS系统图色视觉[opencv]方法小结 AIWROK软件苹果IOS系统图色视觉[opencv]方法小结 b2b软件

  1. /*
  2. 🍎交流 QQ 群 711841924 群一,苹果内测群,528816639
  3. 🍎OpenCV 图像处理方法小结
  4. */

  5. //🍎OpenCV 类 [opencv] 方法小结

  6. // 第一个方法:📌findImagesEx - cv文件找图(模板匹配cv找图)
  7. /*
  8. 类别 详情说明
  9. 方法功能 基于cv文件进行模板匹配找图,返回匹配到的目标数组
  10. 方法签名 Detect[] opencv.findImagesEx (String cvFile)
  11. 返回值 Detect[](匹配到的目标数组,每个元素包含位置、相似度等信息)
  12. 参数 - String cvFile:cv格式的模板文件路径
  13. */
  14. // 示例:基于cv文件找图
  15. let findResults = opencv.findImagesEx("./template.cv");
  16. print.log("cv文件找图结果:", findResults);


  17. // 第二个方法:📌OCREx - cv文件OCR(模板匹配OCR)
  18. /*
  19. 类别 详情说明
  20. 方法功能 基于cv文件模板进行文字识别,返回OCR识别结果
  21. 方法签名 OcrResult opencv.OCREx (String cvFile)
  22. 返回值 OcrResult(OCR识别结果对象,包含识别到的文字及位置信息)
  23. 参数 - String cvFile:cv格式的OCR模板文件路径
  24. */
  25. // 示例:基于cv文件进行OCR识别
  26. let ocrResult = opencv.OCREx("./textTemplate.cv");
  27. print.log("OCR识别文字:", ocrResult.text);


  28. // 第三个方法:📌templateMatch - 多模板匹配查找目标对象
  29. /*
  30. 类别 详情说明
  31. 方法功能 基于多个模板图片在指定图像中匹配目标,可设置匹配区域、阈值等
  32. 方法签名 Detect[] opencv.templateMatch (Mat mat, String[] templates, Double threshold, Double[] roi, Boolean best)
  33. 返回值 Detect[](匹配到的目标数组)
  34. 参数 - Mat mat:待匹配的原始图像(Mat对象)
  35. - String[] templates:模板图片路径数组
  36. - Double threshold:匹配阈值(0-1,值越高匹配越严格)
  37. - Double[] roi:匹配区域百分比数组,格式为 [x, y, width, height],默认全图 [0,0,1,1]
  38. - Boolean best:是否只返回最优匹配结果(true则只返回最佳匹配,false返回所有符合阈值的结果)
  39. */
  40. // 示例:多模板匹配指定区域
  41. const templates = ["./tpl1.png", "./tpl2.png"];
  42. const matchResults = opencv.templateMatch(mat, templates, 0.8, [0.2, 0.2, 0.6, 0.6], true);
  43. print.log("模板匹配结果:", matchResults);


  44. // 第四个方法:📌findImages - 多图查找(支持超时和质量设置)
  45. /*
  46. 类别 详情说明
  47. 方法功能 同时查找多张相似图片,超时未找到则返回null;可设置截图质量、超时时间等
  48. 方法签名 Detect[]|null opencv.findImages (String[] images, Double threshold, Int32 timeOut, Int32 quality, Double[] rects)
  49. 返回值 Detect[]|null(匹配成功返回目标数组,失败返回null)
  50. 参数 - String[] images:待查找的图片路径数组
  51. - Double threshold:相似度阈值(0-1)
  52. - Int32 timeOut:超时时间(毫秒,超过该时间未找到则返回null)
  53. - Int32 quality:屏幕截图质量(0:标清,1:高清,2:超清)
  54. - Double[] rects:查找区域百分比数组,格式为 [x, y, width, height],默认全图
  55. */
  56. // 示例:多图查找并设置超时
  57. const targetImages = ["./img1.png", "./img2.png"];
  58. const multiFindResults = opencv.findImages(targetImages, 0.7, 3000, 1, [0, 0, 1, 1]);
  59. if (multiFindResults) {
  60.   print.log("多图查找成功,结果:", multiFindResults);
  61. } else {
  62.   print.err("多图查找超时或失败");
  63. }


  64. // 第五个方法:📌toGray - 图像转灰度图
  65. /*
  66. 类别 详情说明
  67. 方法功能 将输入的Mat图像转换为灰度图(直接修改原始Mat对象)
  68. 方法签名 void opencv.toGray (Mat src)
  69. 返回值 void(无返回值,直接修改输入的Mat对象)
  70. 参数 - Mat src:待转换的原始图像(Mat对象)
  71. */
  72. // 示例:将图像转为灰度图
  73. const grayMat = image.getMat(); // 假设从image对象获取Mat
  74. opencv.toGray(grayMat);
  75. print.log("图像已转为灰度图:", grayMat);


  76. // 第六个方法:📌extractRegion - 图像裁切(从大图中截图裁切)
  77. /*
  78. 类别 详情说明
  79. 方法功能 按百分比区域裁切图像,可选择仅保留裁切部分或保留原图大小(其他区域变白)
  80. 方法签名 void opencv.extractRegion (Mat sourceImage, Double[] roiPercent, Boolean iscut)
  81. 返回值 void(无返回值,直接修改输入的Mat对象)
  82. 参数 - Mat sourceImage:待裁切的原始图像(Mat对象)
  83. - Double[] roiPercent:裁切区域百分比数组,格式为 [x, y, width, height]
  84. - Boolean iscut:裁切模式(true仅保留裁切区域;false保留原图大小,其他区域变白)
  85. */
  86. // 示例:裁切图像中间50%区域并仅保留裁切部分
  87. opencv.extractRegion(mat, [0.25, 0.25, 0.5, 0.5], true);
  88. print.log("图像已裁切:", mat);


  89. // 第七个方法:📌threshold - 图像二值化处理
  90. /*
  91. 类别 详情说明
  92. 方法功能 将图像转换为黑白二值图(像素值在[min, max]区间外为黑色,区间内为白色)
  93. 方法签名 void opencv.threshold (Mat src, Int32 min, Int32 max)
  94. 返回值 void(无返回值,直接修改输入的Mat对象)
  95. 参数 - Mat src:待二值化的原始图像(Mat对象)
  96. - Int32 min:二值化最小阈值(0-255)
  97. - Int32 max:二值化最大阈值(0-255)
  98. */
  99. // 示例:截屏并进行二值化处理(含后续流程)
  100. const binImg = screen.screenShotFull();
  101. const binMat = binImg.getMat();
  102. opencv.threshold(binMat, 50, 200); // 阈值区间50-200

  103. // 转Image并OCR识别
  104. const binImg2 = new Image();
  105. binImg2.readMat(binMat);
  106. const ocrRes = binImg2.ocr(0, 0, 1, 1);
  107. print.log("二值化后OCR结果:", ocrRes);

  108. // 释放内存
  109. binMat.close();
  110. binImg.close();
  111. binImg2.close();


  112. // 第八个方法:📌invertColor - 图像颜色翻转(反色处理)
  113. /*
  114. 类别 详情说明
  115. 方法功能 对图像进行颜色翻转,将每个像素的RGB值反转(如白色→黑色、红色→青色等)
  116. 方法签名 void opencv.invertColor (Mat src)
  117. 返回值 void(无返回值,直接修改输入的Mat对象)
  118. 参数 - Mat src:待颜色翻转的原始图像(Mat对象)
  119. */
  120. // 示例:翻转图像颜色
  121. const invertMat = image.getMat();
  122. opencv.invertColor(invertMat);
  123. print.log("颜色已翻转的图像:", invertMat);
复制代码
方法 1:cv 文件找图(模版匹配 cv 找图)
类别
内容
主题
cv 文件找图、模版匹配 cv 找图
方法
Detect[] findImagesEx(String cvFile)
返回值
Detect[]
参数
String cvFile
: cv 文件 cv 文件
案例
opencv.findImagesEx("")
方法 2:cv 文件 OCR(模版匹配 OCR)
类别
内容
主题
cv 文件 OCR、模版匹配 OCR
方法
OcrResult OCREx(String cvFile)
返回值
OcrResult
参数
String cvFile
: cv 文件 cv 文件
案例
opencv.OCREx("")
方法 3:模版匹配(通过模版匹配找到目标对象)
类别
内容
主题
模版匹配;通过模版匹配找到目标对象
方法
Detect[] templateMatch(Mat mat, String[] templates, Double threshold, Double[] roi, Boolean best)
返回值
Detect[]
参数
Mat mat
: mat 类型图片
String[] templates
: 模版图片数组
Double threshold
: 阈值 0-1
Double[] roi
: 区域数组[0,0,1,1]

Boolean best
: 是否只返回最优解
案例
opencv.templateMatch(Mat, String[], Double, Double[], true)
方法 4:找多图
类别
内容
主题
找多图
说明
找图,可设置多张相似图片;找图成功返回目标数组,失败返回null
方法
Detect[] findImages(String[] images, Double threshold, Int32 timeOut, Int32 quality, Double[] rects)
返回值
Detect[]
参数
String[] images
: 图片数组
Double threshold
: 相似度 0-1
Int32 timeOut
: 超时时间(毫秒,超时未找到则退出)
Int32 quality
: 屏幕截图质量(0 标清、1 高清、2 超清)
Double[] rects
: 百分比区域
案例
opencv.findImages(String[], Double, Int32, Int32, Double[])
方法 5:转灰度图(图像转灰度图)
类别
内容
主题
转灰度图
说明
图像转灰度图
方法
Void toGray(Mat src)
返回值
Void
参数
Mat src
: mat 图像 mat 图像
案例
opencv.toGray(Mat)
方法 6:裁切图片(从大图中截图裁切图片)
类别
内容
主题
裁切图片
说明
从大图中截图裁切图片
方法
Void extractRegion(Mat sourceImage, Double[] roiPercent, Boolean iscut)
返回值
Void
参数
Mat sourceImage
: mat 图像 mat 图像
Double[] roiPercent
: 裁切区域百分数数组
Boolean iscut
: true
只保留裁切部分,false
图片大小不变、其他区域变白
案例
opencv.extractRegion(Mat, Double[], true)
方法 7:二值化
类别
内容
主题
二值化
方法
Void threshold(Mat src, Int32 min, Int32 max)
返回值
Void
参数
Mat src
: mat 格式图片
Int32 min
: 最小阈值
Int32 max
: 最大阈值
案例
// 截屏并转成 mat 格式
var img = screen.screenShotFull();
var mat = img.getMat();
// 二值化操作(示例含后续流程:转 Image、OCR、释放内存等)
opencv.threshold(mat, 50, 200);
var img2 = new Image();
img2.readMat(mat);
printl(img2);
var ocrres = img2.ocr(0, 0, 1, 1);
printl(ocrres);
// 释放内存
mat.close();
img.close();
img2.close();
方法 8:颜色翻转
类别
内容
主题
颜色翻转
方法
Void invertColor(Mat src)
返回值
Void
参数
Mat src
: mat 格式图片
案例
opencv.invertColor(Mat)
实战实例:
  1. // ... existing code ...

  2. /*
  3. 🍎交流 QQ 群 711841924 群一,苹果内测群,528816639
  4. 🍎OpenCV 图像处理方法小结
  5. */

  6. //🍎OpenCV 类 [opencv] 方法小结

  7. // 第一个方法:📌findImagesEx - cv文件找图(模板匹配cv找图)
  8. /*
  9. 类别 详情说明
  10. 方法功能 基于cv文件进行模板匹配找图,返回匹配到的目标数组
  11. 方法签名 Detect[] opencv.findImagesEx (String cvFile)
  12. 返回值 Detect[](匹配到的目标数组,每个元素包含位置、相似度等信息)
  13. 参数 - String cvFile:cv格式的模板文件路径
  14. */
  15. // 示例:基于cv文件找图
  16. function findImagesExExample() {
  17.     printl("=== findImagesEx 方法示例 ===");
  18.     try {
  19.         // 使用cv文件查找图像
  20.         let findResults = opencv.findImagesEx("图色961575.cv");
  21.         printl("cv文件找图结果:", findResults);
  22.         
  23.         if (findResults && findResults.length > 0) {
  24.             printl("找到 " + findResults.length + " 个匹配目标");
  25.             for (let i = 0; i < findResults.length; i++) {
  26.                 let result = findResults[i];
  27.                 printl("  目标" + (i+1) + ": 相似度=" + result.score() + ", 位置=" + result.getRect().toString());
  28.             }
  29.         } else {
  30.             printl("未找到匹配目标");
  31.         }
  32.     } catch (error) {
  33.         printl("findImagesEx执行出错: " + error.message);
  34.     }
  35. }
  36. // 调用示例
  37. findImagesExExample();


  38. // 第二个方法:&#128204;OCREx - cv文件OCR(模板匹配OCR)
  39. /*
  40. 类别 详情说明
  41. 方法功能 基于cv文件模板进行文字识别,返回OCR识别结果
  42. 方法签名 OcrResult opencv.OCREx (String cvFile)
  43. 返回值 OcrResult(OCR识别结果对象,包含识别到的文字及位置信息)
  44. 参数 - String cvFile:cv格式的OCR模板文件路径
  45. */
  46. // 示例:基于cv文件进行OCR识别
  47. function ocrExExample() {
  48.     printl("=== OCREx 方法示例 ===");
  49.     try {
  50.         var ocr1=opencv.OCREx('图色995593.cv');
  51.         if(ocr1!=null){
  52.            printl(ocr1.getAllString());
  53.         } else {
  54.            printl("OCR识别失败或未识别到文字");
  55.         }
  56.     } catch (error) {
  57.         printl("OCREx执行出错: " + error.message);
  58.     }
  59. }
  60. // 调用示例
  61. ocrExExample();


  62. // 第三个方法:&#128204;templateMatch - 多模板匹配查找目标对象
  63. /*
  64. 类别 详情说明
  65. 方法功能 基于多个模板图片在指定图像中匹配目标,可设置匹配区域、阈值等
  66. 方法签名 Detect[] opencv.templateMatch (Mat mat, String[] templates, Double threshold, Double[] roi, Boolean best)
  67. 返回值 Detect[](匹配到的目标数组)
  68. 参数 - Mat mat:待匹配的原始图像(Mat对象)
  69. - String[] templates:模板图片路径数组
  70. - Double threshold:匹配阈值(0-1,值越高匹配越严格)
  71. - Double[] roi:匹配区域百分比数组,格式为 [x, y, width, height],默认全图 [0,0,1,1]
  72. - Boolean best:是否只返回最优匹配结果(true则只返回最佳匹配,false返回所有符合阈值的结果)
  73. */
  74. // 示例:多模板匹配指定区域
  75. function templateMatchExample() {
  76.     printl("=== templateMatch 方法示例 ===");
  77.     try {
  78.         // 截图获取图像
  79.         const screenshot = screen.screenShotFull();
  80.         const mat = screenshot.getMat();
  81.         
  82.         // 定义模板图片路径数组(请根据实际情况修改路径)
  83.         const templates = ["./template1.png", "./template2.png"];
  84.         
  85.         // 在指定区域进行模板匹配
  86.         const matchResults = opencv.templateMatch(mat, templates, 0.8, [0.2, 0.2, 0.6, 0.6], true);
  87.         printl("模板匹配结果:", matchResults);
  88.         
  89.         if (matchResults && matchResults.length > 0) {
  90.             printl("找到 " + matchResults.length + " 个匹配目标");
  91.             for (let i = 0; i < matchResults.length; i++) {
  92.                 let result = matchResults[i];
  93.                 printl("  目标" + (i+1) + ": 相似度=" + result.score() + ", 位置=" + result.getRect().toString());
  94.             }
  95.         } else {
  96.             printl("未找到匹配目标");
  97.         }
  98.         
  99.         // 释放资源
  100.         mat.close();
  101.         screenshot.close();
  102.     } catch (error) {
  103.         printl("templateMatch执行出错: " + error.message);
  104.     }
  105. }
  106. // 调用示例
  107. // templateMatchExample(); // 取消注释以运行示例


  108. // 第四个方法:&#128204;findImages - 多图查找(支持超时和质量设置)
  109. /*
  110. 类别 详情说明
  111. 方法功能 同时查找多张相似图片,超时未找到则返回null;可设置截图质量、超时时间等
  112. 方法签名 Detect[]|null opencv.findImages (String[] images, Double threshold, Int32 timeOut, Int32 quality, Double[] rects)
  113. 返回值 Detect[]|null(匹配成功返回目标数组,失败返回null)
  114. 参数 - String[] images:待查找的图片路径数组
  115. - Double threshold:相似度阈值(0-1)
  116. - Int32 timeOut:超时时间(毫秒,超过该时间未找到则返回null)
  117. - Int32 quality:屏幕截图质量(0:标清,1:高清,2:超清)
  118. - Double[] rects:查找区域百分比数组,格式为 [x, y, width, height],默认全图
  119. */
  120. // 示例:多图查找并设置超时
  121. function findImagesExample() {
  122.     printl("=== findImages 方法示例 ===");
  123.     try {
  124.         // 定义要查找的图片路径数组(请根据实际情况修改路径)
  125.         const targetImages = ["图色961575.cv"];
  126.         
  127.         // 查找图片,设置阈值0.7,超时时间3000ms,高清质量,全图查找
  128.         const multiFindResults = opencv.findImages(targetImages, 0.7, 3000, 1, [0, 0, 1, 1]);
  129.         
  130.         if (multiFindResults) {
  131.             printl("多图查找成功,结果:", multiFindResults);
  132.             printl("找到 " + multiFindResults.length + " 个匹配目标");
  133.             for (let i = 0; i < multiFindResults.length; i++) {
  134.                 let result = multiFindResults[i];
  135.                 printl("  目标" + (i+1) + ": 相似度=" + result.score() + ", 位置=" + result.getRect().toString());
  136.             }
  137.         } else {
  138.             printl("多图查找超时或失败");
  139.         }
  140.     } catch (error) {
  141.         printl("findImages执行出错: " + error.message); // 修复:使用printl而不是print.err
  142.     }
  143. }
  144. // 调用示例
  145. findImagesExample();


  146. // 第五个方法:&#128204;toGray - 图像转灰度图
  147. /*
  148. 类别 详情说明
  149. 方法功能 将输入的Mat图像转换为灰度图(直接修改原始Mat对象)
  150. 方法签名 void opencv.toGray (Mat src)
  151. 返回值 void(无返回值,直接修改输入的Mat对象)
  152. 参数 - Mat src:待转换的原始图像(Mat对象)
  153. */
  154. // 示例:将图像转为灰度图
  155. function toGrayExample() {
  156.     printl("=== toGray 方法示例 ===");
  157.     try {
  158.         // 截图获取图像
  159.         const grayImage = screen.screenShotFull();
  160.         const grayMat = grayImage.getMat();
  161.         
  162.         // 转换为灰度图
  163.         opencv.toGray(grayMat);
  164.         printl("图像已转为灰度图");
  165.         
  166.         // 保存处理后的图像(可选)
  167.         // grayImage.save("/sdcard/gray_image.png");
  168.         
  169.         // 释放资源
  170.         grayMat.close();
  171.         grayImage.close();
  172.     } catch (error) {
  173.         printl("toGray执行出错: " + error.message);
  174.     }
  175. }
  176. // 调用示例
  177. // toGrayExample(); // 取消注释以运行示例


  178. // 第六个方法:&#128204;extractRegion - 图像裁切(从大图中截图裁切)
  179. /*
  180. 类别 详情说明
  181. 方法功能 按百分比区域裁切图像,可选择仅保留裁切部分或保留原图大小(其他区域变白)
  182. 方法签名 void opencv.extractRegion (Mat sourceImage, Double[] roiPercent, Boolean iscut)
  183. 返回值 void(无返回值,直接修改输入的Mat对象)
  184. 参数 - Mat sourceImage:待裁切的原始图像(Mat对象)
  185. - Double[] roiPercent:裁切区域百分比数组,格式为 [x, y, width, height]
  186. - Boolean iscut:裁切模式(true仅保留裁切区域;false保留原图大小,其他区域变白)
  187. */
  188. // 示例:裁切图像中间50%区域并仅保留裁切部分
  189. function extractRegionExample() {
  190.     printl("=== extractRegion 方法示例 ===");
  191.     try {
  192.         // 截图获取图像
  193.         const extractImage = screen.screenShotFull();
  194.         const extractMat = extractImage.getMat();
  195.         
  196.         // 裁切图像中间50%区域并仅保留裁切部分
  197.         opencv.extractRegion(extractMat, [0.25, 0.25, 0.5, 0.5], true);
  198.         printl("图像已裁切");
  199.         
  200.         // 保存处理后的图像(可选)
  201.         // extractImage.save("/sdcard/cropped_image.png");
  202.         
  203.         // 释放资源
  204.         extractMat.close();
  205.         extractImage.close();
  206.     } catch (error) {
  207.         printl("extractRegion执行出错: " + error.message);
  208.     }
  209. }
  210. // 调用示例
  211. // extractRegionExample(); // 取消注释以运行示例


  212. // 第七个方法:&#128204;threshold - 图像二值化处理
  213. /*
  214. 类别 详情说明
  215. 方法功能 将图像转换为黑白二值图(像素值在[min, max]区间外为黑色,区间内为白色)
  216. 方法签名 void opencv.threshold (Mat src, Int32 min, Int32 max)
  217. 返回值 void(无返回值,直接修改输入的Mat对象)
  218. 参数 - Mat src:待二值化的原始图像(Mat对象)
  219. - Int32 min:二值化最小阈值(0-255)
  220. - Int32 max:二值化最大阈值(0-255)
  221. */
  222. // 示例:截屏并进行二值化处理(含后续流程)
  223. function thresholdExample() {
  224.     printl("=== threshold 方法示例 ===");
  225.     try {
  226.         // 截图获取图像
  227.         const binImg = screen.screenShotFull();
  228.         const binMat = binImg.getMat();
  229.         
  230.         // 进行二值化处理,阈值区间50-200
  231.         opencv.threshold(binMat, 50, 200);
  232.         printl("图像已二值化处理");
  233.         
  234.         // 转Image并OCR识别
  235.         const binImg2 = new Image();
  236.         binImg2.readMat(binMat);
  237.         var ocr2 = binImg2.ocr(0, 0, 1, 1);
  238.         if(ocr2!=null){
  239.            printl(ocr2.getAllString());
  240.         } else {
  241.            printl("二值化后OCR识别失败");
  242.         }
  243.         
  244.         // 保存处理后的图像(可选)
  245.         // binImg.save("/sdcard/binary_image.png");
  246.         
  247.         // 释放内存
  248.         binMat.close();
  249.         binImg.close();
  250.         binImg2.close();
  251.     } catch (error) {
  252.         printl("threshold执行出错: " + error.message);
  253.     }
  254. }
  255. // 调用示例
  256. // thresholdExample(); // 取消注释以运行示例


  257. // 第八个方法:&#128204;invertColor - 图像颜色翻转(反色处理)
  258. /*
  259. 类别 详情说明
  260. 方法功能 对图像进行颜色翻转,将每个像素的RGB值反转(如白色→黑色、红色→青色等)
  261. 方法签名 void opencv.invertColor (Mat src)
  262. 返回值 void(无返回值,直接修改输入的Mat对象)
  263. 参数 - Mat src:待颜色翻转的原始图像(Mat对象)
  264. */
  265. // 示例:翻转图像颜色
  266. function invertColorExample() {
  267.     printl("=== invertColor 方法示例 ===");
  268.     try {
  269.         // 截图获取图像
  270.         const invertImage = screen.screenShotFull();
  271.         const invertMat = invertImage.getMat();
  272.         
  273.         // 翻转图像颜色
  274.         opencv.invertColor(invertMat);
  275.         printl("颜色已翻转的图像");
  276.         
  277.         // 保存处理后的图像(可选)
  278.         // invertImage.save("/sdcard/inverted_image.png");
  279.         
  280.         // 释放资源
  281.         invertMat.close();
  282.         invertImage.close();
  283.     } catch (error) {
  284.         printl("invertColor执行出错: " + error.message);
  285.     }
  286. }
  287. // 调用示例
  288. // invertColorExample(); // 取消注释以运行示例


  289. // ========================== 实际可用的完整示例 ==========================

  290. /**
  291. * 实际可用的OpenCV图像处理示例
  292. * 演示完整的图像处理流程
  293. */
  294. async function practicalOpenCVExample() {
  295.     printl("=== OpenCV完整处理流程示例 ===");
  296.    
  297.     try {
  298.         // 1. 全屏截图
  299.         printl("1. 执行全屏截图");
  300.         const screenshot = screen.screenShotFull();
  301.         const mat = screenshot.getMat();
  302.         printl("   截图完成,图像尺寸: " + mat.width + "x" + mat.height);
  303.         
  304.         // 2. 图像预处理 - 转为灰度图
  305.         printl("2. 图像转为灰度图");
  306.         opencv.toGray(mat);
  307.         
  308.         // 3. 使用cv文件查找图像
  309.         printl("3. 使用cv文件查找图像");
  310.         const findResults = opencv.findImagesEx("图色961575.cv");
  311.         if (findResults && findResults.length > 0) {
  312.             printl("   找到 " + findResults.length + " 个匹配目标");
  313.             const firstResult = findResults[0];
  314.             printl("   第一个匹配目标相似度: " + firstResult.score());
  315.             printl("   位置信息: " + firstResult.getRect().toString());
  316.         } else {
  317.             printl("   未找到匹配目标");
  318.         }
  319.         
  320.         // 4. 使用cv文件进行OCR识别
  321.         printl("4. 使用cv文件进行OCR识别");
  322.         var ocrResult=opencv.OCREx('图色995593.cv');
  323.         if(ocrResult!=null){
  324.            printl(ocrResult.getAllString());
  325.         } else {
  326.            printl("OCR识别失败或未识别到文字");
  327.         }
  328.         
  329.         // 5. 图像二值化处理
  330.         printl("5. 图像二值化处理");
  331.         opencv.threshold(mat, 100, 200);
  332.         printl("   二值化处理完成");
  333.         
  334.         // 6. 颜色翻转
  335.         printl("6. 图像颜色翻转");
  336.         opencv.invertColor(mat);
  337.         printl("   颜色翻转完成");
  338.         
  339.         // 7. 裁切图像
  340.         printl("7. 裁切图像中间区域");
  341.         opencv.extractRegion(mat, [0.25, 0.25, 0.5, 0.5], true);
  342.         printl("   图像裁切完成");
  343.         
  344.         // 释放资源
  345.         mat.close();
  346.         screenshot.close();
  347.         printl("8. 资源释放完成");
  348.         
  349.     } catch (error) {
  350.         printl("执行过程中发生错误: " + error.message);
  351.     }
  352.    
  353.     printl("=== OpenCV图像处理示例结束 ===");
  354. }

  355. // 运行实际示例
  356. practicalOpenCVExample(); // 取消注释以运行示例

  357. // ... existing code ...
复制代码






untoAIWROK软件苹果IOS系统随机数[RJrxn1afZqW7yjf2NK]方法小结nextAIWROK软件苹果IOS系统图色视觉[opencv]方法小结
回复

使用道具 举报

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

本版积分规则

相关导读
信息发布软件AIWROK软件苹果TAB界面视图示例
AIWROK软件苹果TAB界面视图示例
信息发布软件AIWROK苹果系统自带view视图简洁UI界面示例
AIWROK苹果系统自带view视图简洁UI界面示例
信息发布软件汇集HID安卓输入文字的方法和复制粘贴示例
汇集HID安卓输入文字的方法和复制粘贴示例
信息发布软件AIWROK软件找字与OCR方法汇总示例
AIWROK软件找字与OCR方法汇总示例
信息发布软件AIWROK软件找图方法汇总示例
AIWROK软件找图方法汇总示例
信息发布软件AIWROK软件滑动方法集合示例
AIWROK软件滑动方法集合示例
信息发布软件AIWROK软件安卓AIWROK汇集软件点击
AIWROK软件安卓AIWROK汇集软件点击
信息发布软件苹果系统点击方法综合示例
苹果系统点击方法综合示例
信息发布软件AIWROK苹果系统找图方法完整示例集合
AIWROK苹果系统找图方法完整示例集合
信息发布软件苹果系统找图方法完整示例集合
苹果系统找图方法完整示例集合
信息发布软件苹果IOS系统找字OCR方法例子
苹果IOS系统找字OCR方法例子
信息发布软件AIWORK软件数组高级示例
AIWORK软件数组高级示例
信息发布软件AIWROK软件运算符封装库示例
AIWROK软件运算符封装库示例
信息发布软件AIWROK软件语法运行小示例
AIWROK软件语法运行小示例
信息发布软件AIWROK软件JS循环小示例
AIWROK软件JS循环小示例
信息发布软件AIWROK软件H5网页被主脚本获取值用法
AIWROK软件H5网页被主脚本获取值用法
信息发布软件AIWROK软件创建可暂停恢复的多线程任务
AIWROK软件创建可暂停恢复的多线程任务
信息发布软件AIWROK软件类型转换方法例子
AIWROK软件类型转换方法例子
信息发布软件AIWROK软件H5脚本执行与进度显示
AIWROK软件H5脚本执行与进度显示 .
信息发布软件AIWROK软件根据时间段执行异步任务支持多线程并行处理
AIWROK软件根据时间段执行异步任务支持多线程并行处理
信息发布软件H5自动开关执行脚本功能演示
H5自动开关执行脚本功能演示
信息发布软件AIWROK软件H5单选脚本运行示例
AIWROK软件H5单选脚本运行示例
信息发布软件H5任务脚本选择与执行中心
H5任务脚本选择与执行中心
信息发布软件H5里CheckBox控件演示
H5里CheckBox控件演示
信息发布软件AIWROK软件正则用法实际例子
AIWROK软件正则用法实际例子
信息发布软件AIWROK软件权限管理器实现
AIWROK软件权限管理器实现
信息发布软件AIWORK软件节点方法无碍示例子
AIWORK软件节点方法无碍示例子
信息发布软件JSON.stringify 和 JSON.parse 完整示例
JSON.stringify 和 JSON.parse 完整示例
信息发布软件AIWROK软件展示JavaScript各种语句标识符的用法
AIWROK软件展示JavaScript各种语句标识符的用法
信息发布软件JS巧妙地组合使用各种条件语句
JS巧妙地组合使用各种条件语句
信息发布软件AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
信息发布软件HID中文输入智能打字功能
HID中文输入智能打字功能
信息发布软件AIWROK软件对象工具函数库例子
AIWROK软件对象工具函数库例子
信息发布软件AIWROK软件H5交互演示黄色主题
AIWROK软件H5交互演示黄色主题
信息发布软件H5单按钮执行脚本示例
H5单按钮执行脚本示例
信息发布软件苹果H5界面完整调用脚本示例
苹果H5界面完整调用脚本示例
信息发布软件AIWROK软件平台设备信息全面检测工具例子
AIWROK软件平台设备信息全面检测工具例子
信息发布软件AIWROK创建和放大日志窗口并展示动态内容
AIWROK创建和放大日志窗口并展示动态内容
信息发布软件AIWROK软件device相关方法获取设备信息例子
AIWROK软件device相关方法获取设备信息例子[/backcolor]
信息发布软件数据库MySQL实时内容随机调用
数据库MySQL实时内容随机调用
信息发布软件AIWROK软件分享一个特效苹果H5页面
AIWROK软件分享一个特效苹果H5页面
信息发布软件数据库MYQ业务流程心跳程序启动
数据库MYQ业务流程心跳程序启动
信息发布软件数据库MySQL功能支持创建表插入中文数据查询删除功能例子
数据库MySQL功能支持创建表插入中文数据查询删除功能例子
信息发布软件AIWROK软件Zip 高级操作复杂示例
AIWROK软件Zip 高级操作复杂示例
信息发布软件AIWROK软件txt_文件读写方法小结
AIWROK软件txt_文件读写方法小结
信息发布软件AIWROK软件file文件操作方法小结
AIWROK软件file文件操作方法小结
信息发布软件AIWORK软件配置读写H5演示配套脚本
AIWORK软件配置读写H5演示配套脚本
信息发布软件AIWROK配置读写功能演示示例
AIWROK配置读写功能演示示例
信息发布软件AIWROK截图缓存工具
AIWROK截图缓存工具
信息发布软件AIWROK线程许可证工具
AIWROK线程许可证工具
信息发布软件整理了AIWROK环境下常用的Date对象和sleep对象方法
整理了AIWROK环境下常用的Date对象和sleep对象方法
信息发布软件FastUI界面普通用法
FastUI界面普通用法
信息发布软件FastUI界面类[window]方法小结
FastUI界面类[window]方法小结 方法 1:close(关闭指定窗口)方法 2:closeAll(关闭所有窗口)方法 3:loadUI(加载 UI 界面)方法 4:onClose(监听窗口关闭事件)方法 5:onLoad(监听窗口加载事件)方法 6:setFull(设置窗口全屏)方法 7:setHeight(设置窗口高度)方法 8:setHidden(隐藏窗口)方法 9:setLeft(设置窗口 X 轴坐标)方法 10:setTop(设置窗口 Y 轴坐标)方法 11:setVisable(显示隐藏的窗口)方
信息发布软件AIWROK软件按钮监听UI界面与事件监听功能演示
AIWROK软件按钮监听UI界面与事件监听功能演示.
信息发布软件AWIROK软件多选[uiCheckBox]方法小结
AWIROK软件多选方法小结 方法一:findByID 加载多选控件方法二:getAllChecked 获取所有选中项方法三:getAllSelect 获取所有选项方法四:getChecked 获取某个选项是否选中方法五:setChecked 设置某个选项是否选中方法六:setCheckeds 设置多个选项是否选中方法七:setHeight 设置高度
信息发布软件AIWROK日志演示开启日志显示 → 放大 → 关闭代码
AIWROK日志演示开启日志显示 → 放大 → 关闭代码
信息发布软件&#127983;AIWROK数组方法高级应用案例
🏯AIWROK数组方法高级应用案例
信息发布软件AIWROK软件日志悬浮窗简化版自动切换位置
AIWROK软件日志悬浮窗简化版自动切换位置
信息发布软件AIWROK软件String实例演示
AIWROK软件String实例演示
信息发布软件AIWROK软件S内置String类[String]方法小结
AIWROK软件S内置String类[String]方法小结 方法 1:charAt[/backcolor]方法 2:charCodeAt[/backcolor]方法 3:indexOf[/backcolor]方法 4:lastIndexOf[/backcolor]方法 5:length[/backcolor]方法 6:match[/backcolor]方法 7:replace[/backcolor]方法 8:replaceAll[/backcolor]方法 9:split[/backcolor]方法 10:startsWith[/backcolor]方法 11:substr[/backcolor]方法 12:substring[/backcolor]方法 13:trim[/backcol
信息发布软件AIWROK软件完整的WebSocket客户端示例
这段代码是一个完整的WebSocket客户端示例,用于连接到指定的WebSocket服务器并处理各种事件。具体来说,代码的作用如下: 定义服务器地址:首先定义了一个服务器的IP地址和端口号 var ip = "154.37.221.104:8886";。 创建WebSocket对象:尝试创建一个新的WebSocket对象 var ws = new WebSocket();。注意,这里的 new ws() 应该是 new WebSocket()。 添加事件监听器:代码中尝试为WebSocket对象添加事件监听器,但这里有一个错误。
信息发布软件AIWROK软件苹果系统中实现四种基本滑动操作
AIWROK软件苹果系统中实现四种基本滑动操作
信息发布软件hid的滑动没有百分比坐标滑动吗
hid的滑动没有百分比坐标滑动吗
信息发布软件单选控件[uiRadioButton]方法小结
单选控件方法小结 方法 1:加载单选控件[/backcolor]方法 2:获取选中项[/backcolor]方法 3:设置高度[/backcolor]方法 4:设置选中项[/backcolor]
信息发布软件AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例

QQ|( 京ICP备09078825号 )

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

GMT+8, 2026-2-12 22:37 , Processed in 0.427446 second(s), 52 queries .

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

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