{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/ndlocr-lite/feed/json/ -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/ndlocr-lite/", "feed_url": "https://matoken.org/blog/tag/ndlocr-lite/feed/json/", "language": "ja", "title": "NDLOCR-Lite – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "https://matoken.org/blog/?p=5297", "url": "https://matoken.org/blog/2026/03/02/ndlocr-lite/", "title": "dGPU\u304c\u306a\u304f\u3066\u3082\u52d5\u4f5c\u3059\u308b\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u306eNDLOCR-Lite\u304c\u516c\u958b\u3055\u308c\u3066\u3044\u305f\u306e\u3067\u8a66\u3059", "content_html": "
\n
\n

\n
\n

\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u304cNDL\u30e9\u30dc\u3067NDLOCR-Lite \u3092\u516c\u958b\u3057\u307e\u3057\u305f\uff0e
\n\u5143\u3005NDLOCR \u304c\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u304cCUDA \u5bfe\u5fdc\u306eNVIDIA GPU \u304c\u5fc5\u9808\u3067\u3057\u305f\uff0e\u4eca\u56de\u306eNDLOCR-Lite \u306fdGPU \u306e\u7121\u3044PC \u3067\u3082\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306a\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n

\n
\n
\n
\n

NDLOCR-Lite\u306f\u3001NDLOCR\u306e\u8efd\u91cf\u7248\u3092\u76ee\u6307\u3057\u3066\u958b\u767a\u3057\u305fOCR\u3067\u3042\u308a\u3001\u30ce\u30fc\u30c8\u30d1\u30bd\u30b3\u30f3\u7b49\u306e\u4e00\u822c\u7684\u306a\u5bb6\u5ead\u7528\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u3084OS\u74b0\u5883\u3067\u3001\u56f3\u66f8\u3084\u96d1\u8a8c\u3068\u3044\u3063\u305f\u8cc7\u6599\u306e\u30c7\u30b8\u30bf\u30eb\u5316\u753b\u50cf\u304b\u3089\u30c6\u30ad\u30b9\u30c8\u30c7\u30fc\u30bf\u304c\u4f5c\u6210\u3067\u304d\u308bOCR\u3067\u3059\u3002

\n
\n
\n

GPU\uff08Graphics Processing Unit\u3002\u753b\u50cf\u63cf\u753b\u7b49\u306e\u9ad8\u5ea6\u306a\u4e26\u5217\u8a08\u7b97\u3092\u51e6\u7406\u3059\u308b\u88c5\u7f6e\u3002\uff09\u3092\u5fc5\u8981\u3068\u305b\u305a\u3001\u8efd\u91cf\u306aOCR\u51e6\u7406\u304c\u53ef\u80fd\u3067\u3059\u3002

\n
\n
\n

\u307e\u305f\u3001NDLOCR\u304c\u4e0d\u5f97\u610f\u3068\u3057\u3066\u3044\u305f\u82f1\u6587\u3084\u624b\u66f8\u304d\u6587\u5b57\u7b49\u306b\u3064\u3044\u3066\u3082\u5b9f\u9a13\u7684\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002

\n
\n
\n\n
\n
\n

\u5b9f\u969b\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306f\u3053\u3061\u3089\uff0e

\n
\n\n
\n

\u985e\u4f3c\u306e\u3082\u306e\u306bNDL\u53e4\u5178\u7c4dOCR-Lite \u3068\u3044\u3046\u3082\u306e\u3082\u3042\u308a\u307e\u3059\uff0e\u3053\u308c\u3082dGPU \u306e\u5fc5\u8981\u306a\u3044OCR \u3067\u81ea\u5206\u3067\u306f\u8aad\u3081\u306a\u3044\u53e4\u5178\u3092OCR \u3067\u8aad\u3081\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u308a\u3057\u3066\u9762\u767d\u3044\u3067\u3059\uff0e
\n\u4ee5\u4e0b\u306f\u4ee5\u524d #kagokug \u3067\u767a\u8868\u3057\u305f\u95a2\u9023\u8cc7\u6599\u3067\u3059\uff0e

\n
\n
\n\n
\n
\n
\n
\n
    \n
  • \n

    NDLOCR \u8981NVIDIA GPU

    \n
    \n
      \n
    • \n

      NDL\u53e4\u5178\u7c4dOCR-Lite\u306e\u3088\u3046\u306bNDLOCR-Lite\u304c\u51fa\u306a\u3044\u304b\u306a?

      \n
    • \n
    \n
    \n
  • \n
\n
\n
\n
\n
\n

\u3053\u306e\u3068\u304d\u3053\u3093\u306a\u3053\u3068\u3092\u66f8\u3044\u3066\u3044\u307e\u3057\u305f\u304c\u5b9f\u73fe\u3057\u307e\u3057\u305f :)

\n
\n
\n
\n
\n

GUI\u7248\u3092\u8a66\u3059

\n
\n
\n

Windows\u7248\u306f\u4ee5\u4e0b\u306b\u4f7f\u3044\u65b9\u304c\u3042\u308a\u307e\u3059\uff0e\u81ea\u5206\u306fLinux\u7248\u3092\u8a66\u3057\u307e\u3057\u305f\u304c\u8d77\u52d5\u5f8c\u306e\u64cd\u4f5c\u306f\u540c\u3058\u3060\u3068\u601d\u3044\u307e\u3059\uff0e

\n
\n\n
\n

GitHub \u306eReleases \u304b\u3089\u6700\u65b0\u306e\u30d0\u30a4\u30ca\u30ea\u3092\u5165\u624b\u3057\u307e\u3059\uff0ev1.1.0 \u6642\u70b9\u3067\u306fLinux amd64 / macOS arm64, amd64 / Windows(amd64?) \u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\u3053\u3053\u3067\u306fLinux\u7248\uff0e

\n
\n
\n
\n
$ wget -c https://github.com/ndl-lab/ndlocr-lite/releases/download/1.1.0/ndlocr_lite_v1.1.0_linux.tar.gz (1)\n$ sha512sum ndlocr_lite_v1.1.0_linux.tar.gz (2)\n61faed1fc843266095852697bbf29a721db4fb5a054f6d66ae8850301d22a4b1e29535eed150e439f7fd35760a17790a39cf0d45afd7c0ed72e7a3928e47ed93  ndlocr_lite_v1.1.0_linux.tar.gz\n$ fuse-archive ndlocr_lite_v1.1.0_linux.tar.gz (3)\n$ file ndlocr_lite_v1.1.0_linux/linux/ndlocr_lite_gui (4)\nndlocr_lite_v1.1.0_linux/linux/ndlocr_lite_gui: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=55e769c1bfe893353a55cdddbe7066033dc540bf, for GNU/Linux 3.2.0, not stripped\n$ ndlocr_lite_v1.1.0_linux/linux/ndlocr_lite_gui (5)
\n
\n
\n
\n
    \n
  1. \n

    \u30d0\u30a4\u30ca\u30ea\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u5165\u624b

    \n
  2. \n
  3. \n

    hash

    \n
  4. \n
  5. \n

    fuse-archive \u3067\u30a2\u30c9\u30db\u30c3\u30af\u306b\u5c55\u958b

    \n
  6. \n
  7. \n

    \u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u3092\u78ba\u8a8d

    \n
  8. \n
  9. \n

    NDLOCR-Lite \u5b9f\u884c

    \n
  10. \n
\n
\n
\n

NDL\u53e4\u5178\u7c4dOCR-Lite \u3068\u540c\u3058\u3088\u3046\u306b\u6271\u3048\u308b\u611f\u3058\u3067\u3059\uff0e\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\uff0c\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u306e\u683c\u7d0d\u3055\u308c\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304b\u3089\u4e00\u62ec\u51e6\u7406\u306a\u3069\u304c\u53ef\u80fd\u3067\u3059\uff0e
\n\u305d\u306e\u4ed6\uff0c\u753b\u9762\u306e\u6307\u5b9a\u3057\u305f\u7bc4\u56f2\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\u3057\u3066OCR \u3059\u308b\u30ad\u30e3\u30d7\u30c1\u30e3\u30e2\u30fc\u30c9\u3082\u4fbf\u5229\u3067\u3059\uff0e\u305f\u3060\uff0c\u3053\u306e\u30e2\u30fc\u30c9\u306e\u30ad\u30e3\u30d7\u30c1\u30e3\u306fi3 wm \u3067\u306f\u5225\u306eworkspace \u306f\u30ad\u30e3\u30d7\u30c1\u30e3\u3067\u304d\u306a\u3055\u305d\u3046\u3067\u5c11\u3057\u4f7f\u3044\u52dd\u624b\u304c\u60aa\u3044\u3067\u3059\uff0e

\n
\n
\n

\"NDLOCR

\n
\n
\n\n\n\n\n\n
\n
Note
\n
\n\u753b\u50cf\u306e\u51fa\u5178\uff1a\u7d0d\u8c37\u53cb\u4e00 \u8a33\u8a3b\u300e\u9ed2\u732b\u300f,\u5065\u6587\u793e,1952. \u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u30c7\u30b8\u30bf\u30eb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3 https://dl.ndl.go.jp/pid/2436688\n
\n
\n
\n
\n
\n

CLI\u7248\u3092\u4f7f\u3046

\n
\n
\n

CLI\u7248\u306fPython 3.10+ \u304c\u5fc5\u8981\u3067\u3059\uff0e\u4eca\u56de\u306fDebian sid amd64 \u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u5c0e\u5165\u3057\u305fPython 3.13.12 \u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0e
\nREADME.md \u306b\u306fpip \u3067\u306e\u5c0e\u5165\u3068\uff0cuv \u3067\u306e\u5c0e\u5165\u304c\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3059\uff0e\u983b\u7e41\u306b\u4f7f\u3046\u5834\u5408\u306fuv \u306e\u65b9\u304c\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u304a\u597d\u307f\u306e\u65b9\u3067\uff0e

\n
\n
\n
pip \u3067venv \u4ee5\u4e0b\u306b\u5c0e\u5165\u3057\u305f\u4f8b
\n
\n
$ git clone https://github.com/ndl-lab/ndlocr-lite\n$ cd ndlocr-lite\n$ python -m venv venv\n$ source venv/bin/activate\n$ pip install -r requirements.txt\n$ python3 src/ocr.py -h\nusage: ocr.py [-h] [--sourcedir SOURCEDIR] [--sourceimg SOURCEIMG] --output OUTPUT [--viz VIZ] [--det-weights DET_WEIGHTS] [--det-classes DET_CLASSES] [--det-score-threshold DET_SCORE_THRESHOLD] [--det-conf-threshold DET_CONF_THRESHOLD]\n              [--det-iou-threshold DET_IOU_THRESHOLD] [--simple-mode SIMPLE_MODE] [--rec-weights30 REC_WEIGHTS30] [--rec-weights50 REC_WEIGHTS50] [--rec-weights REC_WEIGHTS] [--rec-classes REC_CLASSES] [--device {cpu,cuda}]\n\nArguments for NDLkotenOCR-Lite\n\noptions:\n  -h, --help            show this help message and exit\n  --sourcedir SOURCEDIR\n                        Path to image directory\n  --sourceimg SOURCEIMG\n                        Path to image directory\n  --output OUTPUT       Path to output directory\n  --viz VIZ             Save visualized image\n  --det-weights DET_WEIGHTS\n                        Path to deim onnx file\n  --det-classes DET_CLASSES\n                        Path to list of class in yaml file\n  --det-score-threshold DET_SCORE_THRESHOLD\n  --det-conf-threshold DET_CONF_THRESHOLD\n  --det-iou-threshold DET_IOU_THRESHOLD\n  --simple-mode SIMPLE_MODE\n                        Read line with one model(Setting this option to True will slow down processing, but it simplifies the architecture and may slightly improve accuracy.)\n  --rec-weights30 REC_WEIGHTS30\n                        Path to parseq-tiny onnx file\n  --rec-weights50 REC_WEIGHTS50\n                        Path to parseq-tiny onnx file\n  --rec-weights REC_WEIGHTS\n                        Path to parseq-tiny onnx file\n  --rec-classes REC_CLASSES\n                        Path to list of class in yaml file\n  --device {cpu,cuda}   Device use (cpu or cuda)
\n
\n
\n
\n
uv \u3067\u5c0e\u5165\u3057\u305f\u4f8b
\n
\n
$ git clone https://github.com/ndl-lab/ndlocr-lite\n$ cd ndlocr-lite\n$ uv tool install .\n$ which ndlocr-lite\n/home/matoken/.local/bin/ndlocr-lite\n$ ndlocr-lite --help\nusage: ndlocr-lite [-h] [--sourcedir SOURCEDIR] [--sourceimg SOURCEIMG] --output OUTPUT [--viz VIZ] [--det-weights DET_WEIGHTS] [--det-classes DET_CLASSES] [--det-score-threshold DET_SCORE_THRESHOLD]\n                   [--det-conf-threshold DET_CONF_THRESHOLD] [--det-iou-threshold DET_IOU_THRESHOLD] [--simple-mode SIMPLE_MODE] [--rec-weights30 REC_WEIGHTS30] [--rec-weights50 REC_WEIGHTS50] [--rec-weights REC_WEIGHTS]\n                   [--rec-classes REC_CLASSES] [--device {cpu,cuda}]\n\nArguments for NDLkotenOCR-Lite\n\noptions:\n  -h, --help            show this help message and exit\n  --sourcedir SOURCEDIR\n                        Path to image directory\n  --sourceimg SOURCEIMG\n                        Path to image directory\n  --output OUTPUT       Path to output directory\n  --viz VIZ             Save visualized image\n  --det-weights DET_WEIGHTS\n                        Path to deim onnx file\n  --det-classes DET_CLASSES\n                        Path to list of class in yaml file\n  --det-score-threshold DET_SCORE_THRESHOLD\n  --det-conf-threshold DET_CONF_THRESHOLD\n  --det-iou-threshold DET_IOU_THRESHOLD\n  --simple-mode SIMPLE_MODE\n                        Read line with one model(Setting this option to True will slow down processing, but it simplifies the architecture and may slightly improve accuracy.)\n  --rec-weights30 REC_WEIGHTS30\n                        Path to parseq-tiny onnx file\n  --rec-weights50 REC_WEIGHTS50\n                        Path to parseq-tiny onnx file\n  --rec-weights REC_WEIGHTS\n                        Path to parseq-tiny onnx file\n  --rec-classes REC_CLASSES\n                        Path to list of class in yaml file\n  --device {cpu,cuda}   Device use (cpu or cuda)
\n
\n
\n
\n

\u3082\u3057cuda \u5bfe\u5fdcGPU \u306e\u3042\u308b\u74b0\u5883\u3067\u3042\u308c\u3070\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306b --device cuda \u3092\u6e21\u3059\u3053\u3068\u3067\u901f\u304f\u306a\u308b\u3068\u601d\u3044\u307e\u3059\uff0e

\n
\n
\n

cli\u7248\u5b9f\u884c\u4f8b

\n
\n

--sourcedir (\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u8907\u6570\u753b\u50cf)\u304b --sourceimg (1\u3064\u306e\u753b\u50cf\u30d5\u30a1\u30a4\u30eb)\u3067\u51e6\u7406\u5bfe\u8c61\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304b\u51e6\u7406\u5bfe\u8c61\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\uff0c --output \u3067\u7d50\u679c\u306e\u51fa\u529b\u5148\u3092\u6307\u5b9a\uff0c--viz True \u3067\u53ef\u8996\u5316\u753b\u50cf\u3092\u6709\u52b9\u306b\u3057\u3066\u5b9f\u884c\uff08\u30aa\u30d7\u30b7\u30e7\u30f3)

\n
\n
\n
\n
$ time ndlocr-lite --sourcedir . --output . --viz True\n[INFO] Intialize Model\n[INFO] Inference Image\n69\n[INFO] Saving result on ./viz_digidepo_2436688_0001-0.jpg\nTotal calculation time (Detection + Recognition): 13.220851182937622\n  :\nreal    2m15.882s\nuser    10m16.273s\nsys     0m5.189s\n$ ls\ndigidepo_2436688_0001-0.jpg   digidepo_2436688_0001-4.json  digidepo_2436688_0001-8.txt\ndigidepo_2436688_0001-0.json  digidepo_2436688_0001-4.txt   digidepo_2436688_0001-8.xml\ndigidepo_2436688_0001-0.txt   digidepo_2436688_0001-4.xml   digidepo_2436688_0001-9.jpg\ndigidepo_2436688_0001-0.xml   digidepo_2436688_0001-5.jpg   digidepo_2436688_0001-9.json\ndigidepo_2436688_0001-1.jpg   digidepo_2436688_0001-5.json  digidepo_2436688_0001-9.txt\ndigidepo_2436688_0001-1.json  digidepo_2436688_0001-5.txt   digidepo_2436688_0001-9.xml\ndigidepo_2436688_0001-1.txt   digidepo_2436688_0001-5.xml   viz_digidepo_2436688_0001-0.jpg\ndigidepo_2436688_0001-1.xml   digidepo_2436688_0001-6.jpg   viz_digidepo_2436688_0001-1.jpg\ndigidepo_2436688_0001-2.jpg   digidepo_2436688_0001-6.json  viz_digidepo_2436688_0001-2.jpg\ndigidepo_2436688_0001-2.json  digidepo_2436688_0001-6.txt   viz_digidepo_2436688_0001-3.jpg\ndigidepo_2436688_0001-2.txt   digidepo_2436688_0001-6.xml   viz_digidepo_2436688_0001-4.jpg\ndigidepo_2436688_0001-2.xml   digidepo_2436688_0001-7.jpg   viz_digidepo_2436688_0001-5.jpg\ndigidepo_2436688_0001-3.jpg   digidepo_2436688_0001-7.json  viz_digidepo_2436688_0001-6.jpg\ndigidepo_2436688_0001-3.json  digidepo_2436688_0001-7.txt   viz_digidepo_2436688_0001-7.jpg\ndigidepo_2436688_0001-3.txt   digidepo_2436688_0001-7.xml   viz_digidepo_2436688_0001-8.jpg\ndigidepo_2436688_0001-3.xml   digidepo_2436688_0001-8.jpg   viz_digidepo_2436688_0001-9.jpg\ndigidepo_2436688_0001-4.jpg   digidepo_2436688_0001-8.json
\n
\n
\n
\n

\u3053\u3053\u3067\u306e\u30d5\u30a1\u30a4\u30eb\u7fa4\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n
\n
digidepo_2436688_0001-“${N}”.jpg
\n
\n

OCR \u5bfe\u8c61\u753b\u50cf

\n
\n
digidepo_2436688_0001-“${N}”.json, digidepo_2436688_0001-“${N}”.txt, digidepo_2436688_0001-“${N}”.xml
\n
\n

OCR \u7d50\u679c

\n
\n
viz_digidepo_2436688_0001-“${N}”.jpg
\n
\n

\u53ef\u8996\u5316\u753b\u50cf(\u30aa\u30d7\u30b7\u30e7\u30f3)

\n
\n
\n
\n
\n

\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305fpdf \u306e10\u30b3\u30de(20\u30da\u30fc\u30b8\u5206)\u3092Imagemagick \u3067jpeg \u753b\u50cf\u306b\u5909\u63db\u3057\u305f\u3082\u306e\u306b\u5bfe\u3057\u3066\u5b9f\u884c\u3057\u305f\u3068\u3053\u308d2\u520616\u79d2\u307b\u3069\u639b\u304b\u308a\u307e\u3057\u305f\uff0e1\u753b\u50cf\u3042\u305f\u308a13.6\u79d2\uff0c1\u30da\u30fc\u30b8\u3042\u305f\u308a6.8\u79d2\u307b\u3069\uff0e\u82f1\u8a9e\u65e5\u672c\u8a9e\u6df7\u3058\u308a\u3067\u3082\u7cbe\u5ea6\u826f\u3055\u305d\u3046\u3067\u3059\uff0e
\nOCR \u74b0\u5883\u306f\uff0cLENOVO ThinkPad L13 (G1), CPU: Intel® Core™ i7-10510U CPU @ 1.80GHz, RAM: DDR4 16GB, SSD: NVMe TOSHIBA KXG6AZNV512G \u306bDebian sid amd64 \u3092\u5c0e\u5165\u3057\u305f\u74b0\u5883\u3067\u3059\uff0e

\n
\n
\n

\u30b9\u30ad\u30e3\u30f3\u3057\u305f\u753b\u50cf\u30c7\u30fc\u30bf\u306f\u3053\u3093\u306a\u611f\u3058(1\u30b3\u30de2\u30da\u30fc\u30b8\u5206)

\n
\n
\n
\n
$ file viz_digidepo_2436688_0001-0.jpg\nviz_digidepo_2436688_0001-0.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 2481x1761, components 3
\n
\n
\n
\n

GNU time \u306e -f %M \u3067RAM \u306e\u5229\u7528\u91cf\u3092\u898b\u305f\u3068\u3053\u308d\u3053\u306e\u753b\u50cf1\u679a\u306e\u51e6\u7406\u3067600MB \u8fd1\u304f\uff0c10\u679a\u3067860MB \u7a0b\u3067\u3057\u305f\uff0e

\n
\n
\n

\"NDLOCR

\n
\n
\n\n\n\n\n\n
\n
Note
\n
\n\u753b\u50cf\u306e\u51fa\u5178\uff1a\u7d0d\u8c37\u53cb\u4e00 \u8a33\u8a3b\u300e\u9ed2\u732b\u300f,\u5065\u6587\u793e,1952. \u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u30c7\u30b8\u30bf\u30eb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3 https://dl.ndl.go.jp/pid/2436688\n
\n
\n
\n
\n
\n
\n

Linux\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u3067\u30ad\u30e3\u30d7\u30c1\u30e3\u30e2\u30fc\u30c9

\n
\n
\n

NDLOCR-Lite GUI\u7248\u306b\u306f\u30ad\u30e3\u30d7\u30c1\u30e3\u30e2\u30fc\u30c9\u304c\u3042\u308a\u4fbf\u5229\u305d\u3046\u3067\u3059\u304c\uff0cNDLOCR-Lite \u3092\u8d77\u52d5\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff0e
\n\u540c\u3058\u3088\u3046\u306a\u3053\u3068\u3092\u4ee5\u524d\u304b\u3089 tesseract-ocr \u3067\u3084\u3063\u3066\u3044\u307e\u3057\u305f\uff0e\u3053\u308c\u306f\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u74b0\u5883\u306b\u767b\u9332\u3057\u305f\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3067\u30b9\u30af\u30ea\u30fc\u30f3\u30ad\u30e3\u30d7\u30c1\u30e3\u3068OCR \u3092\u884c\u3044\uff0c\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u7d50\u679c\u3092\u8fd4\u3059\u3082\u306e\u3067\u3057\u305f\uff0e\u3053\u308c\u3092NDLOCR-Lite \u3067\u52d5\u304f\u3088\u3046\u306b\u66f8\u304d\u63db\u3048\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ cat ~/bin/ndlocr-lite.bash\n#!/bin/bash\n\nTMPDIR=$(mktemp -d)\nIMAGEFILE=\"$(mktemp).png\"\nimport png:\"${IMAGEFILE}\" (1)\n#sixelv \"${IMAGEFILE}\"\nconvert \"${IMAGEFILE}\" sixel: (2)\nndlocr-lite --sourceimg \"${IMAGEFILE}\" --output \"${TMPDIR}\" (3)\n\nif [ $? ]; then\n  cat \"${TMPDIR}\"/*.txt | pee cat \"xsel -b\" (4)\n  notify-send 'ocr📋(primary)' (5)\nelse\n  notify-send 'ocr error'\n  exit 1\nfi\n\nrm \"${IMAGEFILE}\" (6)\nrm -r \"${TMPDIR}\"
\n
\n
\n
\n
    \n
  1. \n

    Imagemagick \u306eimport \u30b3\u30de\u30f3\u30c9\u3067\u4efb\u610f\u306e\u5834\u6240\u3092\u30ad\u30e3\u30d7\u30c1\u30e3

    \n
  2. \n
  3. \n

    \u30c7\u30d0\u30c3\u30b0\u7528\u306b\u753b\u50cf\u51fa\u529b

    \n
  4. \n
  5. \n

    NDLOCR-Lite \u3067\u6587\u5b57\u8d77\u3053\u3057

    \n
  6. \n
  7. \n

    \u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u683c\u7d0d

    \n
  8. \n
  9. \n

    notify-send \u3067\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306b\u901a\u77e5

    \n
  10. \n
\n
\n
\n

\u5b9f\u884c\u3059\u308b\u3068\u3053\u3093\u306a\u611f\u3058\uff0e\u52d5\u753b\u5185\u306e\u30b9\u30e9\u30a4\u30c9\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\u3057\u3066\u3044\u307e\u3059\uff0e\u89e3\u50cf\u5ea6\u304c\u4f4e\u3044\u3068\u3044\u307e\u3044\u3061\u3067\u3059\u304c\u89e3\u50cf\u5ea6\u304c\u9ad8\u3044\u3068\u3044\u3044\u611f\u3058\u3067\u3059\uff0etermial \u3067\u53e9\u304f\u3068\u30c7\u30d0\u30c3\u30b0\u7528\u306bSixel \u3067\u30ad\u30e3\u30d7\u30c1\u30e3\u753b\u50cf\u3082\u51fa\u3059\u3088\u3046\u306b\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n

\"NDLOCR

\n
\n
\n\n\n\n\n\n
\n
Note
\n
\n\u753b\u50cf\u306e\u51fa\u5178\uff1a\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b92026 Tokyo/Spring 2\u65e5\u76ee\u30e9\u30a4\u30c8\u30cb\u30f3\u30b0\u30c8\u30fc\u30af\u306e\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u3088\u308a https://www.youtube.com/watch?v=xtb3ZFb6WvA\n
\n
\n
\n

\u3053\u306ebash script \u3092WindowManager \u306b\u767b\u9332\u3057\u3066\u304a\u304d\u307e\u3059\uff0e\u4ee5\u4e0b\u306fi3 wm \u3067 Super+Shift+o \u3067\u547c\u3073\u51fa\u305b\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n

~/.config/i3/config

\n
\n
\n
\n
$ grep ocr ~/.config/i3/config\n#OCR https://gitlab.com/matoken/kagolug-2022.05/-/blob/main/slide/ocr.adoc\nbindsym $mod+Shift+o exec --no-startup-id ~/bin/ndlocr-lite.bash
\n
\n
\n
\n

\u3068\u3044\u3046\u3053\u3068\u3067\u4fbf\u5229\u306b\u4f7f\u3048\u305d\u3046\u3067\u3059\uff0e
\n\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u306e\u9060\u9694\u9001\u4fe1\u30b5\u30fc\u30d3\u30b9\u3067\u95b2\u89a7\u53ef\u80fd\u306a\u66f8\u7c4d\u306a\u3069\u3092\u5c0f\u3055\u306a\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u306a\u3069\u306e\u7aef\u672b\u3067\u8aad\u3080\u306e\u306f\u3044\u307e\u3044\u3061\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u3053\u308c\u3067\u6587\u5b57\u8d77\u3053\u3057\u3057\u3066\u8aad\u3093\u3067\u307f\u308b\u306e\u3082\u3042\u308a\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0c

\n
\n
\n
\n
\n

\u74b0\u5883

\n
\n
\n
\n
$ git log --pretty=oneline -1\n4f0748be4244a2e36d4dd43af05d6eebded3d56d (HEAD -> master, origin/master, origin/HEAD) Merge pull request #13 from mattn/fallback-line\n$ pipx list | grep uv\n   package uv 0.10.7, installed using Python 3.13.3\n    - uv\n    - uvx\n$ dpkg-query -W python3 python3-venv\npython3 3.13.9-3\npython3-venv    3.13.9-3\n$ lsb_release -dr\nDescription:    Debian GNU/Linux forky/sid\nRelease:        n/a\n$ arch\nx86_64
\n
\n
\n
\n
\n
\n

toot

\n
\n\n
\n
\n", "content_text": "\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u304cNDL\u30e9\u30dc\u3067NDLOCR-Lite \u3092\u516c\u958b\u3057\u307e\u3057\u305f\uff0e\n\u5143\u3005NDLOCR \u304c\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u304cCUDA \u5bfe\u5fdc\u306eNVIDIA GPU \u304c\u5fc5\u9808\u3067\u3057\u305f\uff0e\u4eca\u56de\u306eNDLOCR-Lite \u306fdGPU \u306e\u7121\u3044PC \u3067\u3082\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306a\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\n\nNDLOCR-Lite\u306f\u3001NDLOCR\u306e\u8efd\u91cf\u7248\u3092\u76ee\u6307\u3057\u3066\u958b\u767a\u3057\u305fOCR\u3067\u3042\u308a\u3001\u30ce\u30fc\u30c8\u30d1\u30bd\u30b3\u30f3\u7b49\u306e\u4e00\u822c\u7684\u306a\u5bb6\u5ead\u7528\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u3084OS\u74b0\u5883\u3067\u3001\u56f3\u66f8\u3084\u96d1\u8a8c\u3068\u3044\u3063\u305f\u8cc7\u6599\u306e\u30c7\u30b8\u30bf\u30eb\u5316\u753b\u50cf\u304b\u3089\u30c6\u30ad\u30b9\u30c8\u30c7\u30fc\u30bf\u304c\u4f5c\u6210\u3067\u304d\u308bOCR\u3067\u3059\u3002\n\n\nGPU\uff08Graphics Processing Unit\u3002\u753b\u50cf\u63cf\u753b\u7b49\u306e\u9ad8\u5ea6\u306a\u4e26\u5217\u8a08\u7b97\u3092\u51e6\u7406\u3059\u308b\u88c5\u7f6e\u3002\uff09\u3092\u5fc5\u8981\u3068\u305b\u305a\u3001\u8efd\u91cf\u306aOCR\u51e6\u7406\u304c\u53ef\u80fd\u3067\u3059\u3002\n\n\n\u307e\u305f\u3001NDLOCR\u304c\u4e0d\u5f97\u610f\u3068\u3057\u3066\u3044\u305f\u82f1\u6587\u3084\u624b\u66f8\u304d\u6587\u5b57\u7b49\u306b\u3064\u3044\u3066\u3082\u5b9f\u9a13\u7684\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002\n\n\n\n— NDLOCR-Lite\u306e\u516c\u958b\u306b\u3064\u3044\u3066 | NDL\u30e9\u30dc\n\n\n\n\u5b9f\u969b\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306f\u3053\u3061\u3089\uff0e\n\n\n\n\nndl-lab/ndlocr-lite: NDLOCR\u2011Lite application repository (including source code)\n\n\n\n\n\u985e\u4f3c\u306e\u3082\u306e\u306bNDL\u53e4\u5178\u7c4dOCR-Lite \u3068\u3044\u3046\u3082\u306e\u3082\u3042\u308a\u307e\u3059\uff0e\u3053\u308c\u3082dGPU \u306e\u5fc5\u8981\u306a\u3044OCR \u3067\u81ea\u5206\u3067\u306f\u8aad\u3081\u306a\u3044\u53e4\u5178\u3092OCR \u3067\u8aad\u3081\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u308a\u3057\u3066\u9762\u767d\u3044\u3067\u3059\uff0e\n\u4ee5\u4e0b\u306f\u4ee5\u524d #kagokug \u3067\u767a\u8868\u3057\u305f\u95a2\u9023\u8cc7\u6599\u3067\u3059\uff0e\n\n\n\n\nOCR\u3067\u753b\u50cf\u6587\u5b57\u3092\u6587\u5b57\u30c7\u30fc\u30bf\u306b \u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2022.05 \u3067\u767a\u8868 \n\u30d3\u30c7\u30aa\u3084\u753b\u50cf\u306a\u3069\u306b\u66f8\u304b\u308c\u305f\u6587\u5b57\u3092OCR \u3059\u308bScript \u3084NDLOCR \u306e\u7d39\u4ecb\n\n\n\u6700\u8fd1\u8a66\u3057\u305fLinux\u306eOCR\u30c4\u30fc\u30eb(NDL\u53e4\u5178\u7c4dOCR-Lite/YomiToku) \u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2024.12 \u3067\u767a\u8868 \nDL\u53e4\u5178\u7c4dOCR-Lite \u306e\u7d39\u4ecb\u306a\u3069\n\n\n\n\n\n\n\n\nNDLOCR \u8981NVIDIA GPU\n\n\n\nNDL\u53e4\u5178\u7c4dOCR-Lite\u306e\u3088\u3046\u306bNDLOCR-Lite\u304c\u51fa\u306a\u3044\u304b\u306a?\n\n\n\n\n\n\n\n\n\n\u3053\u306e\u3068\u304d\u3053\u3093\u306a\u3053\u3068\u3092\u66f8\u3044\u3066\u3044\u307e\u3057\u305f\u304c\u5b9f\u73fe\u3057\u307e\u3057\u305f :)\n\n\n\n\nGUI\u7248\u3092\u8a66\u3059\n\n\nWindows\u7248\u306f\u4ee5\u4e0b\u306b\u4f7f\u3044\u65b9\u304c\u3042\u308a\u307e\u3059\uff0e\u81ea\u5206\u306fLinux\u7248\u3092\u8a66\u3057\u307e\u3057\u305f\u304c\u8d77\u52d5\u5f8c\u306e\u64cd\u4f5c\u306f\u540c\u3058\u3060\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\n\n\nNDLOCR-Lite\u306e\u4f7f\u3044\u65b9 | NDL\u30e9\u30dc\n\n\n\n\nGitHub \u306eReleases \u304b\u3089\u6700\u65b0\u306e\u30d0\u30a4\u30ca\u30ea\u3092\u5165\u624b\u3057\u307e\u3059\uff0ev1.1.0 \u6642\u70b9\u3067\u306fLinux amd64 / macOS arm64, amd64 / Windows(amd64?) \u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\u3053\u3053\u3067\u306fLinux\u7248\uff0e\n\n\n\n$ wget -c https://github.com/ndl-lab/ndlocr-lite/releases/download/1.1.0/ndlocr_lite_v1.1.0_linux.tar.gz (1)\n$ sha512sum ndlocr_lite_v1.1.0_linux.tar.gz (2)\n61faed1fc843266095852697bbf29a721db4fb5a054f6d66ae8850301d22a4b1e29535eed150e439f7fd35760a17790a39cf0d45afd7c0ed72e7a3928e47ed93 ndlocr_lite_v1.1.0_linux.tar.gz\n$ fuse-archive ndlocr_lite_v1.1.0_linux.tar.gz (3)\n$ file ndlocr_lite_v1.1.0_linux/linux/ndlocr_lite_gui (4)\nndlocr_lite_v1.1.0_linux/linux/ndlocr_lite_gui: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=55e769c1bfe893353a55cdddbe7066033dc540bf, for GNU/Linux 3.2.0, not stripped\n$ ndlocr_lite_v1.1.0_linux/linux/ndlocr_lite_gui (5)\n\n\n\n\n\n\u30d0\u30a4\u30ca\u30ea\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u5165\u624b\n\n\nhash\n\n\nfuse-archive \u3067\u30a2\u30c9\u30db\u30c3\u30af\u306b\u5c55\u958b\n\n\n\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u3092\u78ba\u8a8d\n\n\nNDLOCR-Lite \u5b9f\u884c\n\n\n\n\nNDL\u53e4\u5178\u7c4dOCR-Lite \u3068\u540c\u3058\u3088\u3046\u306b\u6271\u3048\u308b\u611f\u3058\u3067\u3059\uff0e\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\uff0c\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u306e\u683c\u7d0d\u3055\u308c\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304b\u3089\u4e00\u62ec\u51e6\u7406\u306a\u3069\u304c\u53ef\u80fd\u3067\u3059\uff0e\n\u305d\u306e\u4ed6\uff0c\u753b\u9762\u306e\u6307\u5b9a\u3057\u305f\u7bc4\u56f2\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\u3057\u3066OCR \u3059\u308b\u30ad\u30e3\u30d7\u30c1\u30e3\u30e2\u30fc\u30c9\u3082\u4fbf\u5229\u3067\u3059\uff0e\u305f\u3060\uff0c\u3053\u306e\u30e2\u30fc\u30c9\u306e\u30ad\u30e3\u30d7\u30c1\u30e3\u306fi3 wm \u3067\u306f\u5225\u306eworkspace \u306f\u30ad\u30e3\u30d7\u30c1\u30e3\u3067\u304d\u306a\u3055\u305d\u3046\u3067\u5c11\u3057\u4f7f\u3044\u52dd\u624b\u304c\u60aa\u3044\u3067\u3059\uff0e\n\n\n\n\n\n\n\n\nNote\n\n\n\u753b\u50cf\u306e\u51fa\u5178\uff1a\u7d0d\u8c37\u53cb\u4e00 \u8a33\u8a3b\u300e\u9ed2\u732b\u300f,\u5065\u6587\u793e,1952. \u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u30c7\u30b8\u30bf\u30eb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3 https://dl.ndl.go.jp/pid/2436688\n\n\n\n\n\n\n\nCLI\u7248\u3092\u4f7f\u3046\n\n\nCLI\u7248\u306fPython 3.10+ \u304c\u5fc5\u8981\u3067\u3059\uff0e\u4eca\u56de\u306fDebian sid amd64 \u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u5c0e\u5165\u3057\u305fPython 3.13.12 \u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0e\nREADME.md \u306b\u306fpip \u3067\u306e\u5c0e\u5165\u3068\uff0cuv \u3067\u306e\u5c0e\u5165\u304c\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3059\uff0e\u983b\u7e41\u306b\u4f7f\u3046\u5834\u5408\u306fuv \u306e\u65b9\u304c\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u304a\u597d\u307f\u306e\u65b9\u3067\uff0e\n\n\npip \u3067venv \u4ee5\u4e0b\u306b\u5c0e\u5165\u3057\u305f\u4f8b\n\n$ git clone https://github.com/ndl-lab/ndlocr-lite\n$ cd ndlocr-lite\n$ python -m venv venv\n$ source venv/bin/activate\n$ pip install -r requirements.txt\n$ python3 src/ocr.py -h\nusage: ocr.py [-h] [--sourcedir SOURCEDIR] [--sourceimg SOURCEIMG] --output OUTPUT [--viz VIZ] [--det-weights DET_WEIGHTS] [--det-classes DET_CLASSES] [--det-score-threshold DET_SCORE_THRESHOLD] [--det-conf-threshold DET_CONF_THRESHOLD]\n [--det-iou-threshold DET_IOU_THRESHOLD] [--simple-mode SIMPLE_MODE] [--rec-weights30 REC_WEIGHTS30] [--rec-weights50 REC_WEIGHTS50] [--rec-weights REC_WEIGHTS] [--rec-classes REC_CLASSES] [--device {cpu,cuda}]\n\nArguments for NDLkotenOCR-Lite\n\noptions:\n -h, --help show this help message and exit\n --sourcedir SOURCEDIR\n Path to image directory\n --sourceimg SOURCEIMG\n Path to image directory\n --output OUTPUT Path to output directory\n --viz VIZ Save visualized image\n --det-weights DET_WEIGHTS\n Path to deim onnx file\n --det-classes DET_CLASSES\n Path to list of class in yaml file\n --det-score-threshold DET_SCORE_THRESHOLD\n --det-conf-threshold DET_CONF_THRESHOLD\n --det-iou-threshold DET_IOU_THRESHOLD\n --simple-mode SIMPLE_MODE\n Read line with one model(Setting this option to True will slow down processing, but it simplifies the architecture and may slightly improve accuracy.)\n --rec-weights30 REC_WEIGHTS30\n Path to parseq-tiny onnx file\n --rec-weights50 REC_WEIGHTS50\n Path to parseq-tiny onnx file\n --rec-weights REC_WEIGHTS\n Path to parseq-tiny onnx file\n --rec-classes REC_CLASSES\n Path to list of class in yaml file\n --device {cpu,cuda} Device use (cpu or cuda)\n\n\n\nuv \u3067\u5c0e\u5165\u3057\u305f\u4f8b\n\n$ git clone https://github.com/ndl-lab/ndlocr-lite\n$ cd ndlocr-lite\n$ uv tool install .\n$ which ndlocr-lite\n/home/matoken/.local/bin/ndlocr-lite\n$ ndlocr-lite --help\nusage: ndlocr-lite [-h] [--sourcedir SOURCEDIR] [--sourceimg SOURCEIMG] --output OUTPUT [--viz VIZ] [--det-weights DET_WEIGHTS] [--det-classes DET_CLASSES] [--det-score-threshold DET_SCORE_THRESHOLD]\n [--det-conf-threshold DET_CONF_THRESHOLD] [--det-iou-threshold DET_IOU_THRESHOLD] [--simple-mode SIMPLE_MODE] [--rec-weights30 REC_WEIGHTS30] [--rec-weights50 REC_WEIGHTS50] [--rec-weights REC_WEIGHTS]\n [--rec-classes REC_CLASSES] [--device {cpu,cuda}]\n\nArguments for NDLkotenOCR-Lite\n\noptions:\n -h, --help show this help message and exit\n --sourcedir SOURCEDIR\n Path to image directory\n --sourceimg SOURCEIMG\n Path to image directory\n --output OUTPUT Path to output directory\n --viz VIZ Save visualized image\n --det-weights DET_WEIGHTS\n Path to deim onnx file\n --det-classes DET_CLASSES\n Path to list of class in yaml file\n --det-score-threshold DET_SCORE_THRESHOLD\n --det-conf-threshold DET_CONF_THRESHOLD\n --det-iou-threshold DET_IOU_THRESHOLD\n --simple-mode SIMPLE_MODE\n Read line with one model(Setting this option to True will slow down processing, but it simplifies the architecture and may slightly improve accuracy.)\n --rec-weights30 REC_WEIGHTS30\n Path to parseq-tiny onnx file\n --rec-weights50 REC_WEIGHTS50\n Path to parseq-tiny onnx file\n --rec-weights REC_WEIGHTS\n Path to parseq-tiny onnx file\n --rec-classes REC_CLASSES\n Path to list of class in yaml file\n --device {cpu,cuda} Device use (cpu or cuda)\n\n\n\n\u3082\u3057cuda \u5bfe\u5fdcGPU \u306e\u3042\u308b\u74b0\u5883\u3067\u3042\u308c\u3070\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306b --device cuda \u3092\u6e21\u3059\u3053\u3068\u3067\u901f\u304f\u306a\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\ncli\u7248\u5b9f\u884c\u4f8b\n\n--sourcedir (\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u8907\u6570\u753b\u50cf)\u304b --sourceimg (1\u3064\u306e\u753b\u50cf\u30d5\u30a1\u30a4\u30eb)\u3067\u51e6\u7406\u5bfe\u8c61\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304b\u51e6\u7406\u5bfe\u8c61\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\uff0c --output \u3067\u7d50\u679c\u306e\u51fa\u529b\u5148\u3092\u6307\u5b9a\uff0c--viz True \u3067\u53ef\u8996\u5316\u753b\u50cf\u3092\u6709\u52b9\u306b\u3057\u3066\u5b9f\u884c\uff08\u30aa\u30d7\u30b7\u30e7\u30f3)\n\n\n\n$ time ndlocr-lite --sourcedir . --output . --viz True\n[INFO] Intialize Model\n[INFO] Inference Image\n69\n[INFO] Saving result on ./viz_digidepo_2436688_0001-0.jpg\nTotal calculation time (Detection + Recognition): 13.220851182937622\n :\nreal 2m15.882s\nuser 10m16.273s\nsys 0m5.189s\n$ ls\ndigidepo_2436688_0001-0.jpg digidepo_2436688_0001-4.json digidepo_2436688_0001-8.txt\ndigidepo_2436688_0001-0.json digidepo_2436688_0001-4.txt digidepo_2436688_0001-8.xml\ndigidepo_2436688_0001-0.txt digidepo_2436688_0001-4.xml digidepo_2436688_0001-9.jpg\ndigidepo_2436688_0001-0.xml digidepo_2436688_0001-5.jpg digidepo_2436688_0001-9.json\ndigidepo_2436688_0001-1.jpg digidepo_2436688_0001-5.json digidepo_2436688_0001-9.txt\ndigidepo_2436688_0001-1.json digidepo_2436688_0001-5.txt digidepo_2436688_0001-9.xml\ndigidepo_2436688_0001-1.txt digidepo_2436688_0001-5.xml viz_digidepo_2436688_0001-0.jpg\ndigidepo_2436688_0001-1.xml digidepo_2436688_0001-6.jpg viz_digidepo_2436688_0001-1.jpg\ndigidepo_2436688_0001-2.jpg digidepo_2436688_0001-6.json viz_digidepo_2436688_0001-2.jpg\ndigidepo_2436688_0001-2.json digidepo_2436688_0001-6.txt viz_digidepo_2436688_0001-3.jpg\ndigidepo_2436688_0001-2.txt digidepo_2436688_0001-6.xml viz_digidepo_2436688_0001-4.jpg\ndigidepo_2436688_0001-2.xml digidepo_2436688_0001-7.jpg viz_digidepo_2436688_0001-5.jpg\ndigidepo_2436688_0001-3.jpg digidepo_2436688_0001-7.json viz_digidepo_2436688_0001-6.jpg\ndigidepo_2436688_0001-3.json digidepo_2436688_0001-7.txt viz_digidepo_2436688_0001-7.jpg\ndigidepo_2436688_0001-3.txt digidepo_2436688_0001-7.xml viz_digidepo_2436688_0001-8.jpg\ndigidepo_2436688_0001-3.xml digidepo_2436688_0001-8.jpg viz_digidepo_2436688_0001-9.jpg\ndigidepo_2436688_0001-4.jpg digidepo_2436688_0001-8.json\n\n\n\n\u3053\u3053\u3067\u306e\u30d5\u30a1\u30a4\u30eb\u7fa4\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e\n\n\n\ndigidepo_2436688_0001-“${N}”.jpg\n\nOCR \u5bfe\u8c61\u753b\u50cf\n\ndigidepo_2436688_0001-“${N}”.json, digidepo_2436688_0001-“${N}”.txt, digidepo_2436688_0001-“${N}”.xml\n\nOCR \u7d50\u679c\n\nviz_digidepo_2436688_0001-“${N}”.jpg\n\n\u53ef\u8996\u5316\u753b\u50cf(\u30aa\u30d7\u30b7\u30e7\u30f3)\n\n\n\n\n\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305fpdf \u306e10\u30b3\u30de(20\u30da\u30fc\u30b8\u5206)\u3092Imagemagick \u3067jpeg \u753b\u50cf\u306b\u5909\u63db\u3057\u305f\u3082\u306e\u306b\u5bfe\u3057\u3066\u5b9f\u884c\u3057\u305f\u3068\u3053\u308d2\u520616\u79d2\u307b\u3069\u639b\u304b\u308a\u307e\u3057\u305f\uff0e1\u753b\u50cf\u3042\u305f\u308a13.6\u79d2\uff0c1\u30da\u30fc\u30b8\u3042\u305f\u308a6.8\u79d2\u307b\u3069\uff0e\u82f1\u8a9e\u65e5\u672c\u8a9e\u6df7\u3058\u308a\u3067\u3082\u7cbe\u5ea6\u826f\u3055\u305d\u3046\u3067\u3059\uff0e\nOCR \u74b0\u5883\u306f\uff0cLENOVO ThinkPad L13 (G1), CPU: Intel® Core™ i7-10510U CPU @ 1.80GHz, RAM: DDR4 16GB, SSD: NVMe TOSHIBA KXG6AZNV512G \u306bDebian sid amd64 \u3092\u5c0e\u5165\u3057\u305f\u74b0\u5883\u3067\u3059\uff0e\n\n\n\u30b9\u30ad\u30e3\u30f3\u3057\u305f\u753b\u50cf\u30c7\u30fc\u30bf\u306f\u3053\u3093\u306a\u611f\u3058(1\u30b3\u30de2\u30da\u30fc\u30b8\u5206)\n\n\n\n$ file viz_digidepo_2436688_0001-0.jpg\nviz_digidepo_2436688_0001-0.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 2481x1761, components 3\n\n\n\nGNU time \u306e -f %M \u3067RAM \u306e\u5229\u7528\u91cf\u3092\u898b\u305f\u3068\u3053\u308d\u3053\u306e\u753b\u50cf1\u679a\u306e\u51e6\u7406\u3067600MB \u8fd1\u304f\uff0c10\u679a\u3067860MB \u7a0b\u3067\u3057\u305f\uff0e\n\n\n\n\n\n\n\n\nNote\n\n\n\u753b\u50cf\u306e\u51fa\u5178\uff1a\u7d0d\u8c37\u53cb\u4e00 \u8a33\u8a3b\u300e\u9ed2\u732b\u300f,\u5065\u6587\u793e,1952. \u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u30c7\u30b8\u30bf\u30eb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3 https://dl.ndl.go.jp/pid/2436688\n\n\n\n\n\n\n\n\nLinux\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u3067\u30ad\u30e3\u30d7\u30c1\u30e3\u30e2\u30fc\u30c9\n\n\nNDLOCR-Lite GUI\u7248\u306b\u306f\u30ad\u30e3\u30d7\u30c1\u30e3\u30e2\u30fc\u30c9\u304c\u3042\u308a\u4fbf\u5229\u305d\u3046\u3067\u3059\u304c\uff0cNDLOCR-Lite \u3092\u8d77\u52d5\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff0e\n\u540c\u3058\u3088\u3046\u306a\u3053\u3068\u3092\u4ee5\u524d\u304b\u3089 tesseract-ocr \u3067\u3084\u3063\u3066\u3044\u307e\u3057\u305f\uff0e\u3053\u308c\u306f\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u74b0\u5883\u306b\u767b\u9332\u3057\u305f\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3067\u30b9\u30af\u30ea\u30fc\u30f3\u30ad\u30e3\u30d7\u30c1\u30e3\u3068OCR \u3092\u884c\u3044\uff0c\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u7d50\u679c\u3092\u8fd4\u3059\u3082\u306e\u3067\u3057\u305f\uff0e\u3053\u308c\u3092NDLOCR-Lite \u3067\u52d5\u304f\u3088\u3046\u306b\u66f8\u304d\u63db\u3048\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n$ cat ~/bin/ndlocr-lite.bash\n#!/bin/bash\n\nTMPDIR=$(mktemp -d)\nIMAGEFILE=\"$(mktemp).png\"\nimport png:\"${IMAGEFILE}\" (1)\n#sixelv \"${IMAGEFILE}\"\nconvert \"${IMAGEFILE}\" sixel: (2)\nndlocr-lite --sourceimg \"${IMAGEFILE}\" --output \"${TMPDIR}\" (3)\n\nif [ $? ]; then\n cat \"${TMPDIR}\"/*.txt | pee cat \"xsel -b\" (4)\n notify-send 'ocr📋(primary)' (5)\nelse\n notify-send 'ocr error'\n exit 1\nfi\n\nrm \"${IMAGEFILE}\" (6)\nrm -r \"${TMPDIR}\"\n\n\n\n\n\nImagemagick \u306eimport \u30b3\u30de\u30f3\u30c9\u3067\u4efb\u610f\u306e\u5834\u6240\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\n\n\n\u30c7\u30d0\u30c3\u30b0\u7528\u306b\u753b\u50cf\u51fa\u529b\n\n\nNDLOCR-Lite \u3067\u6587\u5b57\u8d77\u3053\u3057\n\n\n\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u683c\u7d0d\n\n\nnotify-send \u3067\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306b\u901a\u77e5\n\n\n\n\n\u5b9f\u884c\u3059\u308b\u3068\u3053\u3093\u306a\u611f\u3058\uff0e\u52d5\u753b\u5185\u306e\u30b9\u30e9\u30a4\u30c9\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\u3057\u3066\u3044\u307e\u3059\uff0e\u89e3\u50cf\u5ea6\u304c\u4f4e\u3044\u3068\u3044\u307e\u3044\u3061\u3067\u3059\u304c\u89e3\u50cf\u5ea6\u304c\u9ad8\u3044\u3068\u3044\u3044\u611f\u3058\u3067\u3059\uff0etermial \u3067\u53e9\u304f\u3068\u30c7\u30d0\u30c3\u30b0\u7528\u306bSixel \u3067\u30ad\u30e3\u30d7\u30c1\u30e3\u753b\u50cf\u3082\u51fa\u3059\u3088\u3046\u306b\u3057\u307e\u3057\u305f\uff0e\n\n\n\n\n\n\n\n\nNote\n\n\n\u753b\u50cf\u306e\u51fa\u5178\uff1a\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b92026 Tokyo/Spring 2\u65e5\u76ee\u30e9\u30a4\u30c8\u30cb\u30f3\u30b0\u30c8\u30fc\u30af\u306e\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u3088\u308a https://www.youtube.com/watch?v=xtb3ZFb6WvA\n\n\n\n\n\n\u3053\u306ebash script \u3092WindowManager \u306b\u767b\u9332\u3057\u3066\u304a\u304d\u307e\u3059\uff0e\u4ee5\u4e0b\u306fi3 wm \u3067 Super+Shift+o \u3067\u547c\u3073\u51fa\u305b\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\uff0e\n\n\n~/.config/i3/config\n\n\n\n$ grep ocr ~/.config/i3/config\n#OCR https://gitlab.com/matoken/kagolug-2022.05/-/blob/main/slide/ocr.adoc\nbindsym $mod+Shift+o exec --no-startup-id ~/bin/ndlocr-lite.bash\n\n\n\n\u3068\u3044\u3046\u3053\u3068\u3067\u4fbf\u5229\u306b\u4f7f\u3048\u305d\u3046\u3067\u3059\uff0e\n\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u306e\u9060\u9694\u9001\u4fe1\u30b5\u30fc\u30d3\u30b9\u3067\u95b2\u89a7\u53ef\u80fd\u306a\u66f8\u7c4d\u306a\u3069\u3092\u5c0f\u3055\u306a\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u306a\u3069\u306e\u7aef\u672b\u3067\u8aad\u3080\u306e\u306f\u3044\u307e\u3044\u3061\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u3053\u308c\u3067\u6587\u5b57\u8d77\u3053\u3057\u3057\u3066\u8aad\u3093\u3067\u307f\u308b\u306e\u3082\u3042\u308a\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0c\n\n\n\n\n\u74b0\u5883\n\n\n\n$ git log --pretty=oneline -1\n4f0748be4244a2e36d4dd43af05d6eebded3d56d (HEAD -> master, origin/master, origin/HEAD) Merge pull request #13 from mattn/fallback-line\n$ pipx list | grep uv\n package uv 0.10.7, installed using Python 3.13.3\n - uv\n - uvx\n$ dpkg-query -W python3 python3-venv\npython3 3.13.9-3\npython3-venv 3.13.9-3\n$ lsb_release -dr\nDescription: Debian GNU/Linux forky/sid\nRelease: n/a\n$ arch\nx86_64\n\n\n\n\n\ntoot\n\n\n\n\nmatoken :fox:: “NDL\u53e4\u5178\u7c4dOCR-Lite \u306b\u7d9a\u304dNDLOCR-Lite \u2026” – \u3044\u306a\u3053\u3093", "date_published": "2026-03-02T23:15:44+09:00", "date_modified": "2026-03-03T19:19:47+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "NDL", "NDLOCR-Lite", "OCR", "Debian", "Linux", "sid" ] } ] }