{"id":5844,"date":"2025-01-11T07:28:00","date_gmt":"2025-01-10T23:28:00","guid":{"rendered":"https:\/\/ixyzero.com\/blog\/?p=5844"},"modified":"2025-01-10T14:56:42","modified_gmt":"2025-01-10T06:56:42","slug":"%e5%9c%a8macos%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%af%b9%e5%9b%be%e7%89%87%e5%81%9aocr%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/ixyzero.com\/blog\/archives\/5844.html","title":{"rendered":"\u5728macOS\u7cfb\u7edf\u4e0a\u5bf9\u56fe\u7247\u505aOCR\u7684\u51e0\u79cd\u65b9\u6cd5"},"content":{"rendered":"\n<p>=Start=<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u7f18\u7531\uff1a<\/h4>\n\n\n\n<p>\u7b80\u5355\u6574\u7406\u4e00\u4e0b\u5728macOS\u7cfb\u7edf\u4e0a\u5bf9\u56fe\u7247\u505aOCR\u7684\u51e0\u79cd\u65b9\u6cd5\uff0c\u65b9\u4fbf\u6709\u9700\u8981\u7684\u65f6\u5019\u53c2\u8003\u3002<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u5b9e\u9645\u6d4b\u8bd5\u548c\u4f7f\u7528\u4e0b\u6765\uff0cmacOS\u4e0a\u6700\u51c6\u786e\u597d\u7528\u7684\u8fd8\u5c31\u662fmacOS\u7cfb\u7edf\u81ea\u5e26\u7684OCR\u529f\u80fd\uff0c\u5176\u5b83\u7684\u6bd4\u5982Tesseract\u6216\u8005\u5176\u4ed6\u7684\u5de5\u5177\uff08\u5fae\u4fe1\u7b49IM\u81ea\u5e26\u7684\u622a\u56fe\u6587\u5b57\u5185\u5bb9\u63d0\u53d6\uff09\u5728\u6548\u679c\u6216\u662f\u4f7f\u7528\u4fbf\u5229\u6027\u4e0a\u8fd8\u662f\u5dee\u4e86\u70b9\u610f\u601d\uff08\u6bd4\u5982\u51c6\u786e\u6027\u6216\u662f\u8981\u8054\u7f51\u7b49\u65b9\u9762\uff09\u3002<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">\u6b63\u6587\uff1a<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">\u53c2\u8003\u89e3\u7b54\uff1a<\/h5>\n\n\n\n<h4 class=\"wp-block-heading\">1\u3001OCR\u63d0\u53d6\u56fe\u7247\u4e2d\u7684\u6587\u5b57\u5185\u5bb9<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1. \u4f20\u7edf\u7684 Tesseract<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>brew install tesseract\nbrew install tesseract-lang\n\ntesseract --help\ntesseract --help-extra\n\ntesseract test_pic1.png - --oem 1 #\u5c06\u8bc6\u522b\u7ed3\u679c\u76f4\u63a5\u8f93\u51fa\u5230\u7ec8\u7aef\n\ntesseract test_pic1.png ocr_result_tesseract --oem 1 -l chi_sim<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">2. \u9884\u89c8(Preview)\u5e94\u7528<\/h5>\n\n\n\n<p>\u6253\u5f00\u56fe\u7247\/PDF\u6587\u4ef6\u4e4b\u540e\u76f4\u63a5\u9009\u4e2d\u5373\u53ef\u8fdb\u884c\u590d\u5236\u64cd\u4f5c\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5728 Mac \u4e0a\u524d\u5f80\u201c\u9884\u89c8\u201d App \u3002<\/li>\n\n\n\n<li>\u6253\u5f00\u7167\u7247\u6216\u56fe\u50cf\uff08\u5176\u4e2d\u663e\u793a\u6587\u672c\uff09\u3002<\/li>\n\n\n\n<li>\u5c06\u6307\u9488\u653e\u5728\u6587\u672c\u4e0a\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u4e00\u9879\u64cd\u4f5c\uff1a<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u62f7\u8d1d\u6587\u672c\uff1a\u62d6\u79fb\u4ee5\u9009\u62e9\u6587\u672c\uff0c\u6309\u4f4f Control \u952e\u70b9\u6309\u6240\u9009\u5185\u5bb9\uff0c\u7136\u540e\u9009\u53d6\u201c\u62f7\u8d1d\u6587\u672c\u201d\u3002\u7136\u540e\uff0c\u4f60\u53ef\u4ee5\u5c06\u8be5\u6587\u672c\u7c98\u8d34\u5230\u5176\u4ed6\u6587\u7a3f\u6216 App \u4e2d\u3002\u3010\u6ce8\u3011\u5982\u679c\u65e0\u6cd5\u9009\u62e9\u6587\u672c\uff0c\u8bf7\u9009\u53d6\u201c\u5de5\u5177\u201d>\u201c\u6587\u672c\u9009\u62e9\u201d\u4ee5\u6253\u5f00\u6587\u672c\u9009\u62e9\u5de5\u5177\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">3. ocrmac<\/h5>\n\n\n\n<p>\u5b89\u88c5\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 -m venv venv1\nsource venv1\/bin\/activate\n\npip install ocrmac\npip install ipython<\/code><\/pre>\n\n\n\n<p>\u5b89\u88c5\u4e2d\u7684\u4e00\u4e9b\u6ce8\u610f\u4e8b\u9879\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4e0d\u5efa\u8bae\u76f4\u63a5\u5728\u5916\u5c42\u5168\u5c40\u7cfb\u7edf\u73af\u5883\u4e2d\u5b89\u88c5\u4e00\u4e9b\u4e0d\u592a\u719f\u6089\u7684\u5305\/\u5e93\uff08\u8fd9\u6837\u4e0d\u592a\u5b89\u5168\uff09\uff0c\u5efa\u8bae\u65b0\u8d77\u4e00\u4e2a\u865a\u62df\u73af\u5883\u6765\u5b89\u88c5\u548c\u6d4b\u8bd5<\/strong>\uff0c\u6bd4\u5982\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>$ pip3 install ipython\nerror: externally-managed-environment\n\n\u00d7 This environment is externally managed\n\u2570\u2500&gt; To install Python packages system-wide, try brew install\n    xyz, where xyz is the package you are trying to\n    install.\n\n    If you wish to install a Python library that isn't in Homebrew,\n    use a virtual environment:\n\n    python3 -m venv path\/to\/venv\n    source path\/to\/venv\/bin\/activate\n    python3 -m pip install xyz\n\n    If you wish to install a Python application that isn't in Homebrew,\n    it may be easiest to use 'pipx install xyz', which will manage a\n    virtual environment for you. You can install pipx with\n\n    brew install pipx\n\n    You may restore the old behavior of pip by passing\n    the '--break-system-packages' flag to pip, or by adding\n    'break-system-packages = true' to your pip.conf file. The latter\n    will permanently disable this error.\n\n    If you disable this error, we STRONGLY recommend that you additionally\n    pass the '--user' flag to pip, or set 'user = true' in your pip.conf\n    file. Failure to do this can result in a broken Homebrew installation.\n\n    Read more about this behavior here: &lt;https:\/\/peps.python.org\/pep-0668\/&gt;\n\nnote: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.\nhint: See PEP 668 for the detailed specification.\n$\n$ brew search ipython\n==&gt; Formulae\nipython                                               bpython                                               wxpython                                              jython                                                cython\n$<\/code><\/pre>\n\n\n\n<p>\u63a8\u8350\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7b80\u5355\u9879\u76ee<\/strong>\uff1a\u5982\u679c\u4f60\u53ea\u9700\u8981\u4e00\u4e2a\u57fa\u672c\u7684\u9694\u79bb\u73af\u5883\u5e76\u4e14\u4e0d\u60f3\u5f15\u5165\u989d\u5916\u7684\u5de5\u5177\u94fe\uff0c\u90a3\u4e48 <code>venv<\/code> \u6216 <code>virtualenv<\/code> \u662f\u5f88\u597d\u7684\u9009\u62e9\u3002<\/li>\n\n\n\n<li><strong>\u590d\u6742\u9879\u76ee<\/strong>\uff1a\u5bf9\u4e8e\u9700\u8981\u4e25\u683c\u63a7\u5236\u4f9d\u8d56\u5173\u7cfb\u3001\u8de8\u5e73\u53f0\u652f\u6301\u6216\u8005\u6d89\u53ca\u975e Python \u5305\u7684\u60c5\u51b5\uff0c<code>conda<\/code> \u662f\u6700\u4f73\u9009\u9879\u3002<\/li>\n\n\n\n<li><strong>\u73b0\u4ee3\u5f00\u53d1\u6d41\u7a0b<\/strong>\uff1a\u5982\u679c\u4f60\u5e0c\u671b\u91c7\u7528\u66f4\u5148\u8fdb\u7684\u9879\u76ee\u7ba1\u7406\u65b9\u5f0f\uff0c<code>poetry<\/code> \u548c <code>pipenv<\/code> \u63d0\u4f9b\u4e86\u66f4\u597d\u7684\u4f9d\u8d56\u89e3\u6790\u548c\u9501\u5b9a\u673a\u5236\uff0c\u7279\u522b\u9002\u5408\u56e2\u961f\u534f\u4f5c\u548c\u6301\u7eed\u96c6\u6210\/\u90e8\u7f72\u573a\u666f\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u6839\u636e\u4f60\u7684\u5177\u4f53\u9700\u6c42\u548c\u6280\u672f\u6808\u6765\u9009\u62e9\u6700\u9002\u5408\u7684\u5de5\u5177\u3002<\/strong>\u65e0\u8bba\u54ea\u79cd\u65b9\u6cd5\uff0c\u90fd\u80fd\u591f\u6709\u6548\u5730\u521b\u5efa\u548c\u7ba1\u7406 Python \u7684\u865a\u62df\u9694\u79bb\u73af\u5883\u3002<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u5b89\u88c5\u597d\u4e86\u865a\u62df\u73af\u5883\u4e4b\u540e\u53ef\u4ee5\u901a\u8fc7 alias-\u522b\u540d \u6765\u65b9\u4fbf\u4f7f\u7528\uff0c\u6bd4\u5982\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code># \u8df3\u8f6c\u5230\u4e13\u95e8\u7528\u4e8e\u6d4b\u8bd5\u7684\u76ee\u5f55\u65b0\u5efa\u865a\u62df\u73af\u5883\ncd ~\/do_test\/\npython3 -m venv venv1\n\n# \u5728shell\u4e2d\u6dfb\u52a0\u522b\u540d\u65b9\u4fbf\u968f\u65f6\u968f\u5730\u8fdb\u5165\u865a\u62df\u73af\u5883\n# vim ~\/.zshrc\nalias venv1=\"source ~\/do_test\/venv1\/bin\/activate\"\n# source ~\/.zshrc\nvenv1<\/code><\/pre>\n\n\n\n<p>\u5e38\u89c4\u4f7f\u7528\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/usr\/bin\/env python\n\nfrom ocrmac import ocrmac\n\nannotations = ocrmac.OCR('test_pic1.png').recognize() #\u5bf9\u4e8e\u56fe\u7247\u4e2d\u7684\u4e2d\u6587\u5185\u5bb9\u8bc6\u522b\u4e0d\u597d\uff0c\u9700\u8981\u901a\u8fc7 language_preference \u6307\u5b9a\u8bed\u8a00\n\nannotations = ocrmac.OCR('test_pic1.png', language_preference=&#91;'zh-Hans']).recognize() #ok\n'''\n&#91;('\u4f5c\u65b0\u5e74\u91cc\u7684\u7b2c\u4e00\u7bc7\uff0c\u6211\u4eec\u8bb2\u4ec0\u4e48\u8bdd\u9898\u5462\uff1f', 0.5, &#91;0.02004453812264858, 0.9707568809405439, 0.4632516871018234, 0.021975676947777467]), ('\u8bb2\u7834\u5c40\u3002', 1.0, &#91;0.02004454434757439, 0.9243119263511643, 0.09131403086684081, 0.020642201834862317]), ('\u6211\u7ecf\u5e38\u542c\u5230\u4e00\u7c7b\u58f0\u97f3\uff1a', 0.5, &#91;0.020044542850228938, 0.8793604652597939, 0.23608017638194745, 0.017441860032737733]), ('\u65f6\u95f4\u4e0d\u7ecf\u6d6a\uff0c\u4eba\u751f\u4e0d\u7ecf\u6643\uff0c\u53ea\u6709\u5e74\u7eaa\u564c\u564c\u5f80\u4e0a\u6da8\uff1b', 0.5, &#91;0.02004454478891597, 0.8255813958466146, 0.550111365024989, 0.02476264030561537]), ('\u5bb6\u91cc\u6ca1\u6709\u77ff\uff0c\u5168\u9760\u81ea\u5df1\u625b\uff0c\u8f9b\u82e6\u5230\u5934\u6765\u4e00\u573a\u7a7a\u5fd9\uff1b', 0.5, &#91;0.02004454570576815, 0.7790697679033006, 0.550111365024989, 0.02482931438936009]), ..., ('\u8fd9\u4ef6\u4e8b\uff0c\u8ddf\u7740\u6211\u4eec\u9605\u8bfb\u8d85\u8fc71\u5e74\u7684\u8bfb\u8005\uff0c\u90fd\u8bb0\u5f97\uff0c\u4e0d\u8bb0\u5f97\u4f60\u4e5f\u53ef\u4ee5\u70b9\u8fdb\u53bb\u590d\u4e60\u590d\u4e60\u3002', 1.0, &#91;0.020044559825702565, 0.002866972200416651, 0.8930957438866158, 0.021842329873951294])]\n'''\n\nannotations = ocrmac.OCR('test_pic1.png', language_preference=&#91;'zh-Hans'], framework=\"livetext\").recognize() #ok \u4e0d\u8fc7\u8fd9\u91cc\u7684\u8bc6\u522b\u7ed3\u679c\u5355\u4f4d\u53d8\u6210\u4e86\u4e00\u4e2a\u5b57\u7b26\uff0c\u4f46\u6bcf\u4e2a\u8bc6\u522b\u7ed3\u679c\u7684\u7f6e\u4fe1\u5ea6\u90fd\u5f88\u9ad8\n'''\n&#91;('\u4f5c', 1.0, &#91;0.02004454736451367, 0.970756880733945, 0.027846489542340463, 0.020642201834862386]), ('\u4e3a', 1.0, &#91;0.04789103690685413, 0.970756880733945, 0.023725834797891032, 0.020642201834862386]), ..., ('\u3002', 1.0, &#91;0.9009226713532513, 0.0028669724770642446, 0.012217638223586125, 0.021842329848517084])]\n'''\nprint(annotations)\n\nfor x in annotations:\n    print(x&#91;0])<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">2\u3001\u622a\u56fe\u540e\u81ea\u52a8OCR\u63d0\u53d6\u6587\u5b57\u5185\u5bb9<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">\u5feb\u6377\u6307\u4ee4<\/h5>\n\n\n\n<p>\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a\u3010\u622a\u5c4f\u540eOCR\u3011\u7684\u5feb\u6377\u6307\u4ee4\uff08\u5305\u542b\u5982\u4e0b\u6d41\u7a0b\uff09\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u3010\u4ea4\u4e92\u3011\u622a\u5c4f<\/li>\n\n\n\n<li>\u4ece\u3010\u622a\u5c4f\u3011\u4e2d\u63d0\u53d6\u6587\u672c<\/li>\n\n\n\n<li>\u5728\u201c\u5feb\u901f\u67e5\u770b\u201d\u4e2d\u663e\u793a\u3010\u56fe\u50cf\u4e2d\u7684\u6587\u672c\u3011<\/li>\n<\/ol>\n\n\n\n<p>\u76f8\u5173\u64cd\u4f5c\u7684\u89e3\u91ca\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u622a\u5c4f\uff1a\u5c06\u8bbe\u5907\u5c4f\u5e55\u622a\u5c4f\u3002\u7ed3\u679c\uff1a\u8bbe\u5907\u5c4f\u5e55\u7684\u56fe\u50cf\u3002<\/li>\n\n\n\n<li><strong>\u4ece\u56fe\u50cf\u4e2d\u63d0\u53d6\u6587\u672c\uff1a\u4f7f\u7528OCR\u63d0\u53d6\u56fe\u50cf\u4e2d\u7684\u6587\u672c\u3002<\/strong>\u7ed3\u679c\uff1a\u6587\u672c\u5217\u8868\u3002<\/li>\n\n\n\n<li>\u5feb\u901f\u67e5\u770b\uff1a\u901a\u8fc7\u7cfb\u7edf\u7684\u201c\u5feb\u901f\u67e5\u770b\u201d\u663e\u793a\u8f93\u5165\u7684\u9884\u89c8\u3002<\/li>\n\n\n\n<li>\u62f7\u8d1d\u81f3\u526a\u8d34\u677f\uff1a\u5c06\u4e0a\u4e00\u4e2a\u64cd\u4f5c\u7684\u7ed3\u679c\u62f7\u8d1d\u5230\u526a\u8d34\u677f\u3002<\/li>\n\n\n\n<li>\u83b7\u53d6\u526a\u8d34\u677f\uff1a\u5c06\u526a\u8d34\u677f\u7684\u5185\u5bb9\u4f20\u9012\u5230\u4e0b\u4e00\u4e2a\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u751f\u6210\u4e8c\u7ef4\u7801\uff1a\u4ece\u8f93\u5165\u6587\u672c\u751f\u6210\u4e8c\u7ef4\u7801\u3002<\/strong>todo\uff1a<strong>\u770b\u770b\u4e00\u4e2a\u4e8c\u7ef4\u7801\u4e2d\u53ef\u4ee5\u5305\u542b\u7684\u4fe1\u606f\u6700\u591a\u80fd\u6709\u591a\u5c11<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u8865\u5145\uff1a\u521b\u5efa\u597d\u5feb\u6377\u6307\u4ee4\u4e4b\u540e\uff0c\u53ef\u4ee5\u5c06\u5feb\u6377\u6307\u4ee4\u653e\u5230\u83dc\u5355\u680f\u4e2d\uff0c\u4ee5\u4eceMac\u7684\u83dc\u5355\u680f\u8fd0\u884c\u5feb\u6377\u6307\u4ee4\uff0c\u63d0\u9ad8\u6548\u7387\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u7b2c\u4e09\u65b9\u5e94\u7528<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Textinator<\/li>\n<\/ul>\n\n\n\n<p>\u6309\u7167\u8bf4\u660e\u5b89\u88c5\u5e94\u7528\u7a0b\u5e8f Textinator \u4e86\u4e4b\u540e\uff0c\u4f7f\u7528\u5feb\u6377\u952e <code>\u2318 + \u21e7 + 4<\/code>\uff08<code>Cmd + Shift + 4<\/code>\uff09\u622a\u53d6\u5c4f\u5e55\u533a\u57df\u7684\u5c4f\u5e55\u622a\u56fe\u7684\u65f6\u5019\uff0c\u8be5\u5e94\u7528\u7a0b\u5e8f\u5c06\u81ea\u52a8\u68c0\u6d4b\u5c4f\u5e55\u622a\u56fe\u4e2d\u7684\u4efb\u4f55\u6587\u672c\u5e76\u5c06\u5176\u590d\u5236\u5230\u526a\u8d34\u677f\u3002<br>Install the app per instructions below. Then, take a screenshot of a region of the screen using <code>\u2318 + \u21e7 + 4<\/code> (<code>Cmd + Shift + 4<\/code>). The app will automatically detect any text in the screenshot and copy it to your clipboard.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5176\u5b83\uff08\u5f85\u6536\u96c6\uff09<\/li>\n<\/ul>\n\n\n\n<p>\u8865\u5145\uff1a<strong>\u4e00\u822c\u60c5\u51b5\u4e0b\uff0c\u5982\u679c\u7cfb\u7edf\u539f\u751f\u5de5\u5177\/\u529f\u80fd\u5c31\u53ef\u4ee5\u6ee1\u8db3\u8981\u6c42\uff0c\u4e0d\u5efa\u8bae\u989d\u5916\u5b89\u88c5\u7b2c\u4e09\u65b9\u5e94\u7528\u6765\u5b9e\u73b0\u3002<\/strong><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u53c2\u8003\u94fe\u63a5\uff1a<\/h5>\n\n\n\n<p>Cost aside, what is the most accurate OCR app?<br><a href=\"https:\/\/www.reddit.com\/r\/macapps\/comments\/zt23ct\/cost_aside_what_is_the_most_accurate_ocr_app\/\">https:\/\/www.reddit.com\/r\/macapps\/comments\/zt23ct\/cost_aside_what_is_the_most_accurate_ocr_app\/<\/a><\/p>\n\n\n\n<p>ocrmac &#8211; \u4f7f\u7528Apple\u89c6\u89c9\u6846\u67b6\u8fdb\u884c\u56fe\u7247\u6587\u672c\u63d0\u53d6\u7684Python\u5305\u88c5\u5668<br><a href=\"https:\/\/github.com\/straussmaximilian\/ocrmac\">https:\/\/github.com\/straussmaximilian\/ocrmac<\/a><\/p>\n\n\n\n<p>Use Apple&#8217;s Vision framework from Python to detect text in images<br><a href=\"https:\/\/gist.github.com\/RhetTbull\/1c34fc07c95733642cffcd1ac587fc4c\">https:\/\/gist.github.com\/RhetTbull\/1c34fc07c95733642cffcd1ac587fc4c<\/a><\/p>\n\n\n\n<p>Use Apple&#8217;s Vision Framework via PyObjC to perform text detection on images (macOS 10.15+ only)<br><a href=\"https:\/\/github.com\/RhetTbull\/osxphotos\/blob\/main\/osxphotos\/text_detection.py\">https:\/\/github.com\/RhetTbull\/osxphotos\/blob\/main\/osxphotos\/text_detection.py<\/a><\/p>\n\n\n\n<p>Simple MacOS StatusBar \/ Menu Bar app to automatically detect text in screenshots<br><a href=\"https:\/\/github.com\/RhetTbull\/textinator\">https:\/\/github.com\/RhetTbull\/textinator<\/a><\/p>\n\n\n\n<p>Recognizing Text in Images<br><a href=\"https:\/\/developer.apple.com\/documentation\/vision\/recognizing-text-in-images\">https:\/\/developer.apple.com\/documentation\/vision\/recognizing-text-in-images<\/a><\/p>\n\n\n\n<p>\u5feb\u6377\u6307\u4ee4<br><a href=\"https:\/\/support.apple.com\/zh-cn\/guide\/shortcuts\/welcome\/ios\">https:\/\/support.apple.com\/zh-cn\/guide\/shortcuts\/welcome\/ios<\/a><\/p>\n\n\n\n<p>=END=<\/p>\n","protected":false},"excerpt":{"rendered":"<p>=Start= \u7f18\u7531\uff1a \u7b80\u5355\u6574\u7406\u4e00\u4e0b\u5728macOS\u7cfb\u7edf\u4e0a\u5bf9\u56fe\u7247\u505aOCR\u7684\u51e0\u79cd\u65b9\u6cd5\uff0c\u65b9\u4fbf\u6709\u9700\u8981\u7684\u65f6\u5019\u53c2\u8003\u3002 \u5b9e\u9645\u6d4b [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,560,12],"tags":[2425,1780,1900,2420,1899,2424,2418],"class_list":["post-5844","post","type-post","status-publish","format-standard","hentry","category-knowledgebase-2","category-mac","category-tools","tag-livetext","tag-macos","tag-ocr","tag-ocrmac","tag-tesseract","tag-visionkit","tag-2418"],"views":1822,"_links":{"self":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/5844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/comments?post=5844"}],"version-history":[{"count":1,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/5844\/revisions"}],"predecessor-version":[{"id":5845,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/5844\/revisions\/5845"}],"wp:attachment":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/media?parent=5844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/categories?post=5844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/tags?post=5844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}