{ "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/%e5%9b%bd%e7%ab%8b%e5%9b%bd%e4%bc%9a%e5%9b%b3%e6%9b%b8%e9%a4%a8/feed/json -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/%e5%9b%bd%e7%ab%8b%e5%9b%bd%e4%bc%9a%e5%9b%b3%e6%9b%b8%e9%a4%a8", "feed_url": "https://matoken.org/blog/tag/%e5%9b%bd%e7%ab%8b%e5%9b%bd%e4%bc%9a%e5%9b%b3%e6%9b%b8%e9%a4%a8/feed/json", "language": "ja", "title": "\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928 – 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=4264", "url": "https://matoken.org/blog/2024/11/29/try-ndlkotenocr-lite-on-linux-laptop/", "title": "NDL\u53e4\u5178\u7c4dOCR-Lite\u3092Linux laptop\u3067\u8a66\u3059", "content_html": "
YomiToku\u3068\u3044\u3046\u65e5\u672c\u8a9e\u306b\u7279\u5316\u3057\u305fAI \u6587\u7ae0\u753b\u50cf\u89e3\u6790\u30a8\u30f3\u30b8\u30f3\u3092\u77e5\u308a\u307e\u3057\u305f\uff0eOCR\u3060\u3051\u3067\u306a\u304f\uff0c\u30ec\u30a4\u30a2\u30a6\u30c8\u89e3\u6790\u6a5f\u80fd\u3092\u6301\u3063\u3066\u3044\u3066\u8907\u96d1\u306a\u30ec\u30a4\u30a2\u30a6\u30c8\u306e\u753b\u50cf\u3067\u3082\u89e3\u6790\u3057\u3066OCR\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u3067\u3059\uff0e(CPU\u3067\u3082\u52d5\u304d\u305d\u3046\u306a\u306e\u3067\u3053\u308c\u3082\u8a66\u3057\u305f\u3044\u3068\u3053\u308d\u3067\u3059\uff0e)
\n\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u3067\u3082\u4f3c\u305f\u3088\u3046\u306a\u306e\u304c\u3042\u3063\u305f\u3051\u3069GPU\u5c02\u7528\u3060\u3063\u305f\u3088\u306a\u3068\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u898b\u306b\u884c\u304f\u3068\u3084\u306f\u308aCUDA\u5bfe\u5fdc\u306eNVIDIA GPU\u304c\u5fc5\u8981\u305d\u3046\u3067\u3059\uff0e
\n\u3084\u306f\u308a\u99c4\u76ee\u304b\u3068\u601d\u3044\u306a\u304c\u3089\u306a\u3093\u3068\u306f\u306a\u3057\u306bndl-lab\u3092\u773a\u3081\u3066\u307f\u308b\u3068ndl-kotenocr-lite\u3068\u3044\u3046\u65b0\u3057\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u304c\u51fa\u6765\u3066\u3044\u307e\u3057\u305f\uff0e
\nGPU\u304c\u306a\u304f\u3066\u3082\u52d5\u4f5c\u3059\u308b\u53e4\u5178\u7c4d\u8cc7\u6599\u306eOCR\u304c\u51fa\u6765\u308b\u30c4\u30fc\u30eb\u306e\u3088\u3046\u3067\u3059\uff0e\u53e4\u5178\u306f\u8aad\u307e\u306a\u3044\u306e\u3067\u3059\u304c\u9762\u767d\u305d\u3046\u3068\u601d\u3044\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n
\n\n\n\n\nNDL\u53e4\u5178\u7c4dOCR-Lite\u306f\u3001\u6c5f\u6238\u671f\u4ee5\u524d\u306e\u548c\u53e4\u66f8\u3001\u6e05\u4ee3\u4ee5\u524d\u306e\u6f22\u7c4d\u3068\u3044\u3063\u305f\u53e4\u5178\u7c4d\u8cc7\u6599\u306e\u30c7\u30b8\u30bf\u30eb\u5316\u753b\u50cf\u304b\u3089\u30c6\u30ad\u30b9\u30c8\u30c7\u30fc\u30bf\u3092\u4f5c\u6210\u3059\u308bOCR\u3067\u3059\u3002
\n
\nGPU\u3092\u5fc5\u8981\u3068\u3057\u306a\u3044OCR\u51e6\u7406\u306b\u7279\u5fb4\u304c\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\u306b\u304a\u3044\u3066\u9ad8\u901f\u306b\u5b9f\u884c\u53ef\u80fd\u3067\u3059\u3002
\nWindows(Windows 10)\u3001Intel Mac(macOS Sequoia)\u53ca\u3073Linux(Ubuntu 22.04)\u74b0\u5883\u306b\u304a\u3044\u3066\u52d5\u4f5c\u78ba\u8a8d\u3057\u3066\u3044\u307e\u3059\u3002
Windows, macOS\uff0cLinux(amd64\u306e\u307f)\u306eGUI\u7248\u30d0\u30a4\u30ca\u30ea\u304creleases\u306b\u3042\u308b\u306e\u3067\u6700\u65b0\u7248\u3092\u5165\u624b\u3057\u307e\u3057\u3087\u3046\uff0e\u4eca\u56de\u306fLinux\u7248\u306e
\nndlkotenocr-lite_v1.0.1_linux.tar.gz\u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0e
| \n Note \n | \n\nREADME.md\u306b\u306fIntel Mac(macOS Sequoia)\u3068\u3042\u308a\u307e\u3059\u304c\uff0cndlkotenocr-lite_v1.0.1_macos_m1.tar.gz\u3068\u3044\u3046\u3082\u306e\u3082\u3042\u308b\u306e\u3067arm\u7248macOS\u3067\u3082\u52d5\u304f\u306e\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e(\u672a\u78ba\u8a8d)\n | \n
$ wget2 -v -c https://github.com/ndl-lab/ndlkotenocr-lite/releases/download/1.0.1/ndlkotenocr-lite_v1.0.1_linux.tar.gz (1)\n$ tar tvf ndlkotenocr-lite_v1.0.1_linux.tar.gz\n$ tar xf ndlkotenocr-lite_v1.0.1_linux.tar.gz (2)\n$ file linux/ndlkotenocr_lite\nlinux/ndlkotenocr_lite: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=dbd9936c296625a7a1083220c253758069687d53, for GNU/Linux 3.2.0, not stripped\n$ linux/ndlkotenocr_lite (3)\n
Linux\u7248\u3092releases\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
\n\u5c55\u958b
\nndlkotenocr_lite\u306e\u8d77\u52d5
\n\u753b\u9762\u306f\u30b7\u30f3\u30d7\u30eb\u3067\u3059\uff0e\u5bfe\u8c61\u306e\u753b\u50cf\u3082\u3057\u304f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3068\uff0c\u7d50\u679c\u306e\u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u6307\u5b9a\u3057\u3066OCR\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3060\u3051\u3067\u3059\uff0e
\n\u5143\u753b\u50cf\u3067\u306f\u5168\u7136\u8aad\u3081\u307e\u305b\u3093\u304c\uff0cOCR\u7d50\u679c\u3092\u898b\u308b\u3068\u306a\u3093\u3068\u306a\u304f\u308f\u304b\u308b\u306e\u3067\u9762\u767d\u3044\u3067\u3059\uff0e
\n\u4eca\u56de10\u30b3\u30de(20\u30da\u30fc\u30b8\u307b\u3069)\u3092\u51e6\u7406\u3057\u307e\u3057\u305f\u304cThinkPad L13(CPU Intel® Core™ i7-10510U/RAM DDR4 16GB)\u306730\u79d2\u307b\u3069\u3067\u5b8c\u4e86\u3057\u307e\u3057\u305f\uff0e\u51fa\u529b\u7d50\u679c\u3068\u3057\u3066\u5bfe\u8c61\u753b\u50cf\u6bce\u306bOCR\u306e\u51e6\u7406\u7d50\u679c\u306e\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\uff0cJSON\u30d5\u30a1\u30a4\u30eb\uff0cXML\u30d5\u30a1\u30a4\u30eb\u304c\u4f5c\u3089\u308c\u307e\u3059\uff0e\u307e\u305f\uff0c\u300c\u8a8d\u8b58\u7b87\u6240\u306e\u53ef\u8996\u5316\u753b\u50cf\u3092\u4fdd\u5b58\u3059\u308b\u300d\u306b\u30c1\u30a7\u30c3\u30af\u3092\u4ed8\u3051\u3066\u3044\u308b\u3068\u3069\u306e\u90e8\u5206\u3092\u8a8d\u8b58\u3057\u305f\u304b\u306e\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3082\u4fdd\u5b58\u3055\u308c\u307e\u3059\uff0e
\n\u30b7\u30f3\u30d7\u30eb\u306a\u753b\u50cf\u3060\u3068\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3060\u3051\u3067\u826f\u3055\u305d\u3046\u3067\u3059\u304c\uff0c\u8907\u96d1\u306a\u9806\u756a\u304c\u308f\u304b\u3089\u306a\u3044\u3088\u3046\u306a\u3082\u306e\u306fOCR\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u304c\u3069\u306e\u90e8\u5206\u306e\u3082\u306e\u304b\u5206\u304b\u308a\u3065\u3089\u3044\u306e\u3067\uff0c\u5ea7\u6a19\u60c5\u5831\u306e\u542b\u307e\u308c\u308bJSON\u30d5\u30a1\u30a4\u30eb\u3084XML\u30d5\u30a1\u30a4\u30eb\u3092\u53c2\u7167\u3057\u305f\u307b\u3046\u304c\u826f\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\u3068\u306f\u3044\u3048\u5206\u304b\u308a\u3065\u3089\u3044\u306e\u3067\u6587\u5b57\u90e8\u5206\u306b\u30de\u30a6\u30b9\u30ab\u30fc\u30bd\u30eb\u3092\u79fb\u52d5\u3059\u308b\u3068\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u3059\u308b\u3088\u3046\u306a\u30d3\u30e5\u30ef\u30fc\u3092\u4f5c\u308b\u3068\u4fbf\u5229\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e
\n\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u3082\u64cd\u4f5c\u3067\u304d\u307e\u3059\uff0ePython 3.10\u4ee5\u964d\u304c\u5fc5\u8981\u3067\u3059\uff0e
\nsource\u3092clone\u3057\u3066Python\u306e\u4f9d\u5b58\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff0e
$ git clone https://github.com/ndl-lab/ndlkotenocr-lite (1)\n$ cd ndlkotenocr-lite\n$ python3 -m venv venv (2)\n$ source venv/bin/activate (3)\n$ pip install -r requirements.txt (4)\n$ cd src\n
source\u306eclone
\nvenv\u3067Python\u4eee\u60f3\u74b0\u5883\u3092\u8a2d\u5b9a
\nvenv\u306e\u74b0\u5883\u306b\u5165\u308b
\n\u4f9d\u5b58\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165
\n| \n Note \n | \n\n\u3053\u306e\u3068\u304d\u306eclone\u6642\u306bMNVO\u306e\u30e2\u30d0\u30a4\u30eb\u56de\u7dda\u3060\u3068post\u30d0\u30c3\u30d5\u30a1\u30b5\u30a4\u30ba\u3092\u5897\u3084\u3057\u3066\u3044\u3066\u3082\u5931\u6557\u3092\u7e70\u308a\u8fd4\u3057\u307e\u3057\u305f\uff0e\u7d50\u5c40\u30ea\u30e2\u30fc\u30c8\u306eVPS\u3067clone\u3057\u3066\u305d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092rsync\u3057\u3066\u304d\u307e\u3057\u305f\uff0e\n | \n
| \n Note \n | \n\nRaspberry Pi OS bookworm armhf\u3067\u3082\u8a66\u3057\u305f\u3068\u3053\u308donnxruntime\u306earmhf\u7248\u304c\u7121\u3044\u3088\u3046\u3067\u5c0e\u5165\u306b\u5931\u6557\u3057\u307e\u3057\u305f\uff0e\u81ea\u5206\u3067build\u3059\u308c\u3070\u52d5\u304b\u305b\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\n | \n
$ python3 ./ocr.py --help\nusage: ocr.py [-h] [--sourcedir SOURCEDIR] [--sourceimg SOURCEIMG] --output OUTPUT [--viz VIZ] [--det-weights DET_WEIGHTS]\n [--det-classes DET_CLASSES] [--det-score-threshold DET_SCORE_THRESHOLD] [--det-conf-threshold DET_CONF_THRESHOLD]\n [--det-iou-threshold DET_IOU_THRESHOLD] [--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 rtmdet 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 --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\u65e9\u901f\u5229\u7528\u3057\u3066\u307f\u307e\u3059\uff0e–sourcedir\u304b—sourceimg\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\u3057\u307e\u3059\uff0e
\n\u30d9\u30fc\u30bf\u3067\u3059\u304c\uff0c\u3082\u3057CUDA\u306b\u5bfe\u5fdc\u3057\u305fGPU\u306e\u5229\u7528\u3067\u304d\u308b\u74b0\u5883\u3067\u3042\u308c\u3070—device\u3067cuda\u3092\u6307\u5b9a\u3059\u308b\u3068\u901f\u304f\u306a\u308b\u3068\u601d\u3044\u307e\u3059\uff0e(\u672a\u78ba\u8a8d)
\n$ python3 ./ocr.py --sourceimg ./digidepo_12282447_0001-000.png --output . --viz True\n['./digidepo_12282447_0001-000.png']\n[INFO] Intialize Model\n[INFO] Inference Image\n[INFO] Saving result on ./viz_digidepo_12282447_0001-000.png\n$ ls -ltrA\n\u5408\u8a08 21964\ndrwxr-xr-x 2 matoken matoken 4096 11\u6708 29 05:40 config\ndrwxr-xr-x 2 matoken matoken 4096 11\u6708 29 05:40 model\n-rw-r--r-- 1 matoken matoken 35776 11\u6708 29 05:40 ndl_parser.py\n-rw-r--r-- 1 matoken matoken 2988 11\u6708 29 05:40 parseq.py\n-rw-r--r-- 1 matoken matoken 8911 11\u6708 29 05:40 ocr.py\n-rw-r--r-- 1 matoken matoken 5744 11\u6708 29 05:40 rtmdet.py\ndrwxr-xr-x 6 matoken matoken 4096 11\u6708 29 06:10 reading_order\ndrwxrwxr-x 2 matoken matoken 4096 11\u6708 29 06:10 __pycache__\n-rw-rw-r-- 1 matoken matoken 11209450 11\u6708 29 06:12 digidepo_12282447_0001-000.png\n-rw-rw-r-- 1 matoken matoken 11131912 11\u6708 29 06:13 viz_digidepo_12282447_0001-000.png\n-rw-rw-r-- 1 matoken matoken 13917 11\u6708 29 06:13 digidepo_12282447_0001-000.xml\n-rw-rw-r-- 1 matoken matoken 3635 11\u6708 29 06:13 digidepo_12282447_0001-000.txt\n-rw-rw-r-- 1 matoken matoken 46375 11\u6708 29 06:13 digidepo_12282447_0001-000.json\n
\u666e\u901a\u306b\u52d5\u4f5c\u3057\u307e\u3059\uff0e
\nGUI\u7248\u3068\u901f\u5ea6\u3092\u6bd4\u8f03\u3057\u3066\u307f\u3088\u3046\u3068\u540c\u3058\u3082\u306e\u3092\u51e6\u7406\u3057\u3066\u307f\u308b\u3068\uff0c10\u30b3\u30de\u3067GUI\u724830\u79d2\uff0cCLI\u724832\u79d2\u3042\u307e\u308a\u5909\u308f\u3089\u306a\u3044\u306e\u3067\u6050\u3089\u304f\u8aa4\u5dee\u3060\u3068\u601d\u3044\u307e\u3059\uff0e
GUI\u7248\u306e\u307b\u3046\u304c\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u5c55\u958b\u3059\u308b\u3060\u3051\u3067\u4f7f\u3048\u3066\u5bb9\u91cf\u3082\u5c0f\u3055\u3044\u306e\u3067\u8a66\u3057\u306b\u4f7f\u3046\u306b\u306fGUI\u7248\u306e\u307b\u3046\u304c\u826f\u3055\u305d\u3046\u3067\u3059\uff0eCLI\u7248\u306fCUDA\u5bfe\u5fdc\u74b0\u5883\u3060\u3063\u305f\u308a\uff0c\u30d7\u30ed\u30b0\u30e9\u30e0\u304b\u3089\u547c\u3093\u3067\u4e00\u62ec\u51e6\u7406\u3084\u524d\u51e6\u7406\u5f8c\u51e6\u7406\u306a\u3069\u3092\u3057\u305f\u3044\u3068\u304d\u306b\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e
\n| \n Note \n | \n\nGUI\u7248\u306e\u5bb9\u91cf\u306f\u5c55\u958b\u6642\u3067258MB\u7a0b\uff0cCLI\u7248\u306e\u5bb9\u91cf\u306f\u4f9d\u5b58\u30d1\u30c3\u30b1\u30fc\u30b8\u5c0e\u5165\u5f8c\u3067520MB\u7a0b\u3067\u3057\u305f\uff0e\n | \n
\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u30c7\u30b8\u30bf\u30eb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306e\u8535\u66f8\u306e\u5165\u624b\u65b9\u6cd5\u306f\u4ee5\u4e0b\u304c\u53c2\u8003\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\uff0e
\n\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u30c7\u30b8\u30bf\u30eb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306e\u8535\u66f8\u306f\u5927\u62b5pdf\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u304c\uff0cpdf\u306f\u4eca\u56de\u306eNDL\u53e4\u5178\u7c4dOCR-Lite\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u753b\u50cf\u306b\u5909\u63db\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff0epdf\u304b\u3089\u753b\u50cf\u306b\u5909\u63db\u3059\u308b\u306e\u306b\u306f\u4ee5\u4e0b\u306e\u8a18\u4e8b\u304c\u53c2\u8003\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\uff0e
\n\n
$ dpkg-query -W python3 python3-venv wget git poppler-utils\ngit 1:2.45.2-1.2\npoppler-utils 24.08.0-3\npython3 3.12.7-1\npython3-venv 3.12.7-1\nwget 1.24.5-2+b1\n lsb_release -dr\nDescription: Debian GNU/Linux trixie/sid\nRelease: n/a\n$ arch\nx86_64\n$ grep -m1 ^model\\ name /proc/cpuinfo\nmodel name : Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz\n$ head -1 /proc/meminfo\nMemTotal: 15992648 kB\n
\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u30c7\u30b8\u30bf\u30eb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306e\u8535\u66f8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u30ed\u30fc\u30ab\u30eb\u3067\u8aad\u3080\u969b\u4f59\u767d\u304c\u90aa\u9b54\u306a\u306e\u3067\u6d88\u3057\u307e\u3057\u305f\uff0e
\n\n
\u307e\u305a\uff0c\u5341\u5168\u306b\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u30c7\u30b8\u30bf\u30eb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3059\u308b\u305f\u3081\u306b\u306f\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u306e\u5229\u7528\u8005\u767b\u9332\uff08\u500b\u4eba\uff09\u306e\u672c\u767b\u9332\u3092\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\uff0e
\n\u73fe\u5728\u306f\u73fe\u5730\u306b\u884c\u304b\u305a\u3068\u3082\u9060\u9694\u3067\u672c\u767b\u9332\u307e\u3067\u53ef\u80fd\u3067\u3059\uff0e\u4fbf\u5229\u306b\u306a\u308a\u307e\u3057\u305f\u306d\uff0e
\n\u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u30c7\u30b8\u30bf\u30eb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3 \u3067\u8aad\u307f\u305f\u3044\u672c\u3092\u691c\u7d22\uff0c\u30ed\u30b0\u30a4\u30f3( \u767b\u9332\u5229\u7528\u8005ID\uff0c\u30d1\u30b9\u30ef\u30fc\u30c9 )
\n\u53f3\u4e0b\u306e\u5370\u5237\u3067\u5370\u5237\u7bc4\u56f2\u3092\u6307\u5b9a\u3057\u3066\u300c\u5370\u5237\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u300d\u3067\u8a72\u5f53\u7bc4\u56f2\u306e pdf \u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\uff0c
\n\u4e0a\u90e8\u306b \u300c\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u2026\u300d \u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\uff0c\u3057\u3070\u3089\u304f\u5f85\u3064\u3068 \u300c\u5370\u5237\u7528\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002\u53f3\u306e\u30ea\u30f3\u30af\u304b\u3089PDF\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a\u3067\u304d\u307e\u3059\u3002\u300d\u306b\u5909\u308f\u308b\u306e\u3067 \u300cPDF\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u300d \u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\uff0e
| \n Note \n | \n\n \n \n50\u30b3\u30de\u3092\u8d85\u3048\u3066\u3044\u308b\u5834\u5408\u306f\u300c\u7bc4\u56f2\u3092\u6307\u5b9a\u300d\u3067 | \n
\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f PDF \u30d5\u30a1\u30a4\u30eb\u306f\u4e0b\u90e8\u306b \u767b\u9332\u5229\u7528\u8005ID, \u5229\u7528\u8005\u540d\uff0c\u751f\u6210\u5e74\u6708\u65e5\u6642\u5206\u79d2 \u304c\u753b\u50cf\u306b\u57cb\u3081\u8fbc\u307e\u308c\u3066\u3044\u307e\u3059\uff0e
\nPDF \u30d5\u30a1\u30a4\u30eb\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3057\u305f\uff0e2481 x 1732.5 pts 50\u30b3\u30de(100\u30da\u30fc\u30b8\u5206)\u306737MB\u7a0b\uff0e
\n$ pdfinfo digidepo_2530201_0001-001-050.pdf\nTitle: \u5b87\u5b99\u8239\u30d3\u30fc\u30b0\u30eb\u53f7\u306e\u5192\u967a\nKeywords: A.E.\u30f4\u30a1\u30f3\u30fb\u30f4\u30a9\u30fc\u30af\u30c8 \u8457 \u307b\u304b\u300e\u5b87\u5b99\u8239\u30d3\u30fc\u30b0\u30eb\u53f7\u306e\u5192\u967a\u300f,\u6771\u4eac\u5275\u5143\u793e,1964.2(43\u5237:1999.10). \u56fd\u7acb\u56fd\u4f1a\u56f3\u66f8\u9928\u30c7\u30b8\u30bf\u30eb\u30b3\u30ec\u30af\u30b7\u30e7\u30f3 https://dl.ndl.go.jp/pid/2530201 (\u53c2\u7167 2024-05-02)\nAuthor: A.E.\u30f4\u30a1\u30f3\u30fb\u30f4\u30a9\u30fc\u30af\u30c8 \u8457\nProducer: PyPDF2\nCreationDate: Thu May 2 00:30:21 2024 JST\nModDate: Thu May 2 00:30:21 2024 JST\nCustom Metadata: no\nMetadata Stream: no\nTagged: no\nUserProperties: no\nSuspects: no\nForm: none\nJavaScript: no\nPages: 50\nEncrypted: yes (print:yes copy:no change:no addNotes:no algorithm:AES-256)\nPage size: 2481 x 1732.5 pts\nPage rot: 0\nFile size: 36676525 bytes\nOptimized: no\nPDF version: 1.7\n
Encrypted \u3067 print:yes copy:no change:no addNotes:no \u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u3082\u308f\u304b\u3089\u306a\u3044\u306e\u3067\uff0ctdftk \u306f\u4f7f\u3048\u307e\u305b\u3093\uff0e
\nError: Invalid PDF: unknown.encryption.type.r\nError: Failed to open input PDF file:\n
print \u306f\u51fa\u6765\u308b\u306e\u3067 mcomix \u3067\u3082\u8aad\u3081\u307e\u3059\uff0e\u3068\u3044\u3046\u3053\u3068\u3067 pdfimages \u3067\u4e2d\u306e\u753b\u50cf\u306e\u53d6\u308a\u51fa\u3057\u306f\u51fa\u6765\u307e\u3057\u305f\uff0e
$ pdfimages -all digidepo_2530201_0001-001-050.pdf 2530201/2530201\n$ ls 2530201/\n2530201-000.jpg 2530201-004.jpg 2530201-008.jpg 2530201-012.jpg 2530201-016.jpg 2530201-020.jpg 2530201-024.jpg 2530201-028.jpg 2530201-032.jpg 2530201-036.jpg 2530201-040.jpg 2530201-044.jpg 2530201-048.jpg\n2530201-001.jpg 2530201-005.jpg 2530201-009.jpg 2530201-013.jpg 2530201-017.jpg 2530201-021.jpg 2530201-025.jpg 2530201-029.jpg 2530201-033.jpg 2530201-037.jpg 2530201-041.jpg 2530201-045.jpg 2530201-049.jpg\n2530201-002.jpg 2530201-006.jpg 2530201-010.jpg 2530201-014.jpg 2530201-018.jpg 2530201-022.jpg 2530201-026.jpg 2530201-030.jpg 2530201-034.jpg 2530201-038.jpg 2530201-042.jpg 2530201-046.jpg\n2530201-003.jpg 2530201-007.jpg 2530201-011.jpg 2530201-015.jpg 2530201-019.jpg 2530201-023.jpg 2530201-027.jpg 2530201-031.jpg 2530201-035.jpg 2530201-039.jpg 2530201-043.jpg 2530201-047.jpg\n$ file 2530201/2530201-001.jpg\n2530201/2530201-001.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 3308x2310, components 3\n
\u4f59\u767d\u304c\u6c17\u306b\u306a\u308b\u306e\u3067 Imagemagick \u306e trim \u3067\u30ab\u30c3\u30c8\u3057\u307e\u3059\uff0e\u6b63\u653b\u6cd5\u3060\u3068\u5ea7\u6a19\u3092\u6307\u5b9a\u3057\u307e\u3059\u304c\uff0c\u4eca\u56de\u306f fuzz \u3067 Imagemagick \u306b\u9811\u5f35\u3063\u3066\u3082\u3089\u3044\u307e\u3059\uff0e
\nfuzz \u306e % \u306f\u753b\u50cf\u306b\u3088\u308a\u4e01\u5ea6\u3044\u3044\u5024\u3092\u63a2\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff0e\u4eca\u56de\u306f 60% \u3067\u826f\u3055\u305d\u3046.
$ convert 2530201/2530201-001.jpg -fuzz 60% -trim 2530201-001-trim.jpg\n
\u4f59\u767d\u304c\u30ab\u30c3\u30c8\u3055\u308c\uff0c3308×2310 \u2192 2831×2099 \u306b\u306a\u308a\u307e\u3057\u305f\uff0e\u3044\u3044\u611f\u3058\u305d\u3046\u306a\u306e\u3067 mogrify \u3067\u5168\u753b\u50cf\u306b\u53cd\u6620\u3057\u30661\u3064\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u306b\u307e\u3068\u3081\u307e\u3057\u305f\uff0e
\n$ mogrify -fuzz 60% -trim 2530201/*\n$ find 2530201 | sort -V | zip -@0 ./\u5b87\u5b99\u8239\u30d3\u30fc\u30b0\u30eb\u53f7\u306e\u5192\u967a.zip\n
50\u30b3\u30de\u4ee5\u4e0a\u306e\u8cc7\u6599\u3067\uff0c2\u3064\u4ee5\u4e0a\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u5834\u5408\u306f2\u3064\u76ee\u4ee5\u964d\u306e PDF \u3092\u540c\u69d8\u306b\u5909\u63db\u3092\u7e70\u308a\u8fd4\u3057\u3066\u30a2\u30fc\u30ab\u30a4\u30d6\u306b\u8ffd\u52a0\u3057\u307e\u3059\uff0e\u305f\u3060\uff0c pdfimages \u3067\u751f\u6210\u3055\u308c\u308b\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u88ab\u3063\u3066\u3057\u307e\u3046\u306e\u3067 rename \u30b3\u30de\u30f3\u30c9\u306a\u3069\u3067\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u5909\u66f4\u3057\u307e\u3059\uff0e
$ rm 2530201/* (1)\n$ pdfimages -all ./digidepo_2530201_0001-051-100.pdf 2530201/2530201 (2)\n$ rename 's/(\\d+)-(\\d+)/sprintf \"$1-%03d\",$2 + 50/e' 2530201/* (3)\n$ mogrify -fuzz 60% -trim 2530201/* (4)\n$ find 2530201 -print | sort -V | zip -@0 ./\u5b87\u5b99\u8239\u30d3\u30fc\u30b0\u30eb\u53f7\u306e\u5192\u967a.zip (5)\n
\u30bf\u30d6\u30ec\u30c3\u30c8\u7aef\u672b\u3067 MComix \u3067\u95b2\u89a7\u3059\u308b\u3068\u3044\u3044\u611f\u3058\u305d\u3046\u3067\u3059\uff0e\u3061\u3087\u3063\u3068\u30b5\u30a4\u30ba\u304c\u5927\u304d\u3044\u306e\u3067\u7e2e\u5c0f\u3057\u305f\u308a\uff0c\u4e92\u63db\u6027\u306e\u305f\u3081\u306b PDF \u5f62\u5f0f\u306b\u3057\u305f\u308a\u3057\u3066\u3082\u826f\u3055\u305d\u3046\u3067\u3059\uff0e
\n\u30b9\u30de\u30db\u306a\u3069\u3067\u8aad\u3080\u5834\u5408\u306f\u3055\u3089\u306b\u771f\u3093\u4e2d\u304b\u30892\u5206\u5272\u3057\u305f\u3089\u826f\u3055\u305d\u3046\u3067\u3059\u304c\uff0c\u3056\u3063\u3068\u898b\u305f\u611f\u3058\u306e\u3069\u304c\u4e2d\u592e\u306b\u63c3\u3063\u3066\u3044\u308b\u308f\u3051\u3067\u306f\u306a\u3044\u306e\u3067\u5c11\u3057\u9762\u5012\u305d\u3046\u3067\u3059\uff0e
$ dpkg-query -W imagemagick zip poppler-utils rename\nimagemagick 8:6.9.12.98+dfsg1-5.2\npoppler-utils 22.12.0-2.2+b1\nrename 2.02-1\nzip 3.0-13\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription: Debian GNU/Linux trixie/sid\nRelease: n/a\nCodename: trixie\n$ arch\nx86_64\n