明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 581|回复: 2

[源码] 如何将图片转换为base64后的数据发送到远程服务器上识别图片文字

[复制链接]
发表于 2025-12-9 08:53:20 | 显示全部楼层 |阅读模式
图片被转换为base64后,如何发送到远程ocr服务器,请看下文
  1. (defun $umi-ocr-recognize$ (ip port base64Data f)
  2.   ;调用方法:(setq txts ($umi-ocr-recognize$ ip port ($tu-pian-base64$ "C:/123.png") "/api/ocr"))
  3.   (if (and ip port base64Data)
  4.     (progn
  5.       (if (not f)
  6.   (setq f "/api/ocr")
  7.   ;; 默认端点
  8.       )
  9.       (setq fullUrl (strcat ip ":" port f))
  10.       (setq winHttp (vl-catch-all-apply
  11.           'vlax-create-object
  12.           (list "WinHttp.WinHttpRequest.5.1")
  13.         )
  14.       )
  15.       (if (vl-catch-all-error-p winHttp)
  16.   (progn (princ "无法创建HTTP对象") (setq winHttp nil))
  17.       )
  18.       (if winHttp
  19.   (progn
  20.     ;; 构造请求体
  21.     (setq  requestBody
  22.      (strcat
  23.        "{"      "\"images\":[\""
  24.        base64Data    "\"],"
  25.        "\"language\":\"chs+eng\","
  26.        "\"det\":true,"  "\"rec\":true,"
  27.        "\"cls\":false"  "}"
  28.       )
  29.     )
  30.     ;; 发送请求
  31.     (vl-catch-all-apply
  32.       'vlax-invoke-method
  33.       (list
  34.         winHttp "Open" "POST" fullUrl :vlax-false)
  35.     )
  36.     (vl-catch-all-apply
  37.       'vlax-invoke-method
  38.       (list
  39.         winHttp
  40.         "SetRequestHeader"
  41.         "Content-Type"
  42.         "application/json"
  43.       )
  44.     )
  45.     (vl-catch-all-apply
  46.       'vlax-invoke-method
  47.       (list winHttp "Send" requestBody)
  48.     )
  49.     (vl-catch-all-apply
  50.       'vlax-invoke
  51.       (list winHttp "WaitForResponse")
  52.     )
  53.     ;; 处理响应
  54.     (setq  status (vl-catch-all-apply
  55.        'vlax-get-property
  56.        (list winHttp "Status")
  57.            )
  58.     )
  59.     (setq  response (vl-catch-all-apply
  60.          'vlax-get-property
  61.          (list winHttp "ResponseText")
  62.        )
  63.     )
  64.     (vl-catch-all-apply 'vlax-release-object (list winHttp))
  65.     (if (= status 200)
  66.       t
  67.       (progn
  68.         (princ (strcat "错误: HTTP " (itoa status)))
  69.         nil
  70.       )
  71.     )
  72.   )
  73.   nil
  74.       )
  75.     )
  76.   )
  77.   response
  78. )

"觉得好,就打赏"
还没有人打赏,支持一下
回复

使用道具 举报

发表于 2025-12-9 10:38:32 | 显示全部楼层
感谢楼主无私分享
回复 支持 反对

使用道具 举报

发表于 2025-12-9 16:29:56 | 显示全部楼层
本帖最后由 crtrccrt 于 2025-12-9 16:46 编辑

没有给出OCR服务器实际地址+端口
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2026-1-25 18:15 , Processed in 3.042565 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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