Omeka Sのデータをダウンロードするプログラムを作成しました。

Omeka Sのデータをダウンロードするプログラムを作成しました。以下のリポジトリで公開しています。 https://github.com/nakamura196/omekas_backup また、本プログラムの実行例を示すGoogle Colabを作成しました。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/omekas_backup.ipynb 上記のチュートリアルでは、以下のOmeka Sのサンドボックスを対象に、データのダウンロードを実行します。 https://omeka.org/s/download/#sandbox 実行後、docsフォルダにapiのダウンロード結果、dataフォルダにそれらをまとめたMS Excelファイルが出力されます。 上記のデータをバックアップ等にご利用いただけます。Omeka Sを利用される際の参考になりましたら幸いです。

2022年6月22日 · 更新: 2022年6月22日 · 1 分 · Nakamura

Mirador 3にmirador-image-toolsプラグインを追加して、1つのjsファイルにまとめて配布する方法

概要 表題の通り、Mirador 3にmirador-image-toolsなどのプラグインを追加して、1つのjsファイルにまとめて配布する方法を記述します。 JavaScriptに関する知識不足により、誤った記述があるかもしれません。間違っている点などがありましたらご指摘いただけますと幸いです。 ゴール 以下に示すようなHTMLファイルを記述することにより、以下のURLから確認できるアプリを作成することが目的です。mirador-image-toolsプラグインが有効化されているMirador 3を使用しています。 https://nakamura196.github.io/mirador-integration-alt/ <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Basic Mirador</title> </head> <body> <div id="demo"></div> <!-- ポイント --> <script src="https://nakamura196.github.io/mirador-integration-alt/dist/main.js"></script> <script> // 注意点 const {Mirador, miradorImageToolsPlugin} = integration const config = { id: "demo", windows: [ { imageToolsEnabled: true, imageToolsOpen: true, manifestId: "https://iiif.dl.itc.u-tokyo.ac.jp/repo/iiif/fbd0479b-dbb4-4eaa-95b8-f27e1c423e4b/manifest", }, ] }; Mirador.viewer(config, [...miradorImageToolsPlugin]); </script> </body> </html> ポイントは、上記のソースコードで「<!-- ポイント -->」としている点です。1つのjsファイルを読み込むことで、Mirador 3とmirador-image-toolsプラグインを使用しています。 ...

2022年6月8日 · 更新: 2022年6月8日 · 1 分 · Nakamura

Nuxt 3とVuetify 3を用いたIIIF Image API関連ツールを作成しました。

概要 Nuxt 3とVuetify 3を用いたIIIF Image API関連ツールを作成しました。本ツールを開発した背景として、IIIF Image APIを操作するニーズに加えて、Nuxt 3の使い方を学ぶ目的がありました。 GitHubリポジトリは以下です。参考になりましたら幸いです。 https://github.com/nakamura196/nuxt3-vuetify3 使い方 以下のURLからアクセスいただけます。 https://nv3.netlify.app/ 以下のように、「例」ボタンを押すと、画面上部のテキストフォームにURLが入力され、そのURLに含まれる要素(「region」や「size」など)が画面下部に表示されます。 IIIF Image APIを操作する際の参考になりましたら幸いです。

2022年6月7日 · 更新: 2022年6月7日 · 1 分 · Nakamura

ファイルのアップロード(python)とダウンロード(php)

ファイルをサーバにアップロードする機会があり、その備忘録です。 サーバ上で動作する画像の受け取りプログラムはphpで作成しました。セキュリティ等には十分にお気をつけください。 upload.php <?php $root = "./"; //適宜変更してください。 $path = $_POST["path"]; $dirname = dirname($path); if (!file_exists($dirname)) { mkdir($dirname, 0755, true); } move_uploaded_file($_FILES['media']['tmp_name'], $root.$path); ?> ファイルをpostでアップロードするプログラムはpythonで作成しました。ローカルの画像ファイルと、出力先のパスをpostしています。 import requests import json url = '<upload.phpのURL>' input_local_image_path = 'input/test.jpg' output_server_image_path = "output/test2.jpg" files = {'media': open(input_local_image_path, 'rb')} json_data = { "path": output_server_image_path } response = requests.post(url, files=files, data=json_data) print(response) print(response.text) 繰り返しになりますが、セキュリティ等を十分に考慮した上でご使用ください。

2022年6月3日 · 更新: 2022年6月3日 · 1 分 · Nakamura

python-docxを用いたMicrosoft Wordファイルの作成:テンプレート、int2kanjiの利用など

概要 以下のように表形式で管理している情報を、Microsoft Wordの縦書きフォーマットに変換する機会がありましたので、その備忘録です。 変換前 研究課題名 課題番号 直接経費 持続性と利活用性を考慮したデジタルアーカイブシステム構築手法の開発 21K18014 2600000 変換後 指定されたテンプレートの利用や、「数字 <-> 漢数字 の相互変換ライブラリ 「Kanjize」」を利用しています。 python-docxを用いたMicrosoft Wordファイルの作成 まず、以下のようなMicrosoft Wordのテンプレートファイルを作成します。指定されたレイアウトを使用しつつ、値を変更したい部分に{<変数名>}を指定します。 そして、上記のテンプレートで使用した変数名に対応したjsonファイルなどを作成します。 { "direct_cost": "二百六十万", "indirect_cost": "七十八万", "period_end": "二〇二三", "period_start": "二〇二一", "principal_investigator": "中村 覚", "project_number": "二一K一八〇一四", "research_category": "若手研究", "research_title": "持続性と利活用性を考慮したデジタルアーカイブシステム構築手法の開発" } そして、以下のようなpythonスクリプトを実行することにより、指定されたフォーマットに基づくMicrosoft Wordファイルを作成することができます。 import docx import json item = { "direct_cost": "二百六十万", "indirect_cost": "七十八万", "period_end": "二〇二三", "period_start": "二〇二一", "principal_investigator": "中村 覚", "project_number": "二一K一八〇一四", "research_category": "若手研究", "research_title": "持続性と利活用性を考慮したデジタルアーカイブシステム構築手法の開発" } doc = docx.Document("template.docx") for para in doc.paragraphs: text = para.text for key in item: target = "{"+key+"}" if target in text: text = text.replace(target, item[key]) para.text = text opath = "output.docx" doc.save(opath) 数字 <-> 漢数字 の相互変換 上記の入力用のjsonファイルを作成するにあたり、数字を漢数字に変換する必要がありました。 例:2600000 -> 二百六十万 ...

2022年5月31日 · 更新: 2022年5月31日 · 1 分 · Nakamura

【Omeka S モジュール】IIIF ServerモジュールでImage APIを使用しない方法

概要 IIIFマニフェストの生成を行うOmeka Sのモジュール「IIIF Server」において、Image APIを使用しない設定を行うことができます。これにより、レンタルサーバなどのリソースが限られた環境において、IIIFマニフェストの配信などが容易となります。 以前、以下の記事を執筆しました。 https://nakamura196.hatenablog.com/entry/2021/07/22/171657 2022年5月時点において、モジュールのアップデートにより、設定の方法が変わりましたので、設定方法をあらためて記事にします。なお、Image APIを使用しないメリットやデメリットについては、上記の記事をご参照ください。 設定方法 確認した環境は以下です。 Omeka S version 3.2.0 IIIF Server version 3.6.6.6 モジュールの一覧画面から「IIIF Server」をみつけ、「設定」ボタンをクリックします。 遷移先のページで最下部に移動すると、「External image server」 > 「Default IIIF image api version」という設定項目があります。ここで以下に示すように、「No image server」のオプションを選択することにより、Image APIを使用しないマニフェストファイルの生成が可能になります。 まとめ レンタルサーバなどのリソースが限られた環境でOmekaを運用しており、タイル画像の生成に時間がかかってしまう場合などに、本記事が参考になりましたら幸いです。

2022年5月27日 · 更新: 2022年5月27日 · 1 分 · Nakamura

【Omeka S Theme】Bootstrap 5テーマのMappingモジュール一部対応

概要 以下のBootstrap 5を用いたOmeka Sのテーマについて、後述するように、Mappingモジュールをインストールした際、map-browseページで表示崩れが発生していました。 https://github.com/ldasjp8/Omeka-S-theme-Bootstrap5 上記について、以下のように修正しました。 https://github.com/ldasjp8/Omeka-S-theme-Bootstrap5/commit/d60c93ff6d79b5505d25ef26e31e3776f55199d4 修正前 地理関係のフォームの表示が崩れていました。 修正後 地理関係のフォームの表示崩れを修正しました。 まとめ まだまだ表示が崩れてしまうページやモジュールがありますが、順次対応していきたいと思います。

2022年5月26日 · 更新: 2022年5月26日 · 1 分 · Nakamura

【Omeka S】IIIF対応の複数ビューアを設置する「IIIF Viewers」モジュールの使い方

概要 Omeka SにIIIF マニフェスト URI のアイコンとビューアを表示するためのモジュール「IIIF Viewers」を開発・公開しています。本モジュールの開発にあたっては、国文学研究資料館にご協力いただきました。 https://github.com/omeka-j/Omeka-S-module-IiifViewers 以下、本モジュールの使い方について説明します。 インストール Omeka Sにおける標準的な方法でインストール可能です。 具体的には、まず以下の「Releases」欄のリンクをクリックします。 次に、以下のリンクをクリックすることで、zipファイルをダウンロードできます。ダウンロードしたファイルを展開して、インストール済みのOmeka Sの「modules」フォルダに展開したフォルダ「IiifViewers」を配置してください。 本記事執筆時点では、以下のURLで最新版をダウンロードすることができます。 https://github.com/omeka-j/Omeka-S-module-IiifViewers/releases/download/0.0.5/IiifViewers.zip 使い方 インストール後、以下の設定画面に遷移します。本モジュールで使用する各種IIIF対応ビューアへのリンクを指定することができます。(デフォルト設定のままでも問題ありません。) また、画面左部の「モジュール > IIIF Viewers」のリンクをクリックすることで、各ビューアのアイコンを指定することができます。 カスタマイズ例 たとえば、「TIFY」を設定している箇所について、神崎正英氏が開発されている「Image Annotator」に変更してみます。 https://www.kanzaki.com/works/2016/pub/image-annotator まず以下の画面から、ロゴを変更します。 次に、モジュールの一覧画面から、以下の「設定」ボタンを選択します。 そして、「TIFY」のURLの値を以下に変更します。 http://www.kanzaki.com/works/2016/pub/image-annotator?u= 結果、以下のように追加したアイコンが表示され、アイコンをクリックすると、Image Annotatorで画像を閲覧することができます。 まとめ 今後、任意の数のIIIF対応ビューアを設定できるように修正したいと思います。 新機能やバグ修正のご要望などございましたらお知らせください。またプルリクエストも歓迎いたします。 ご活用いただけますと幸いです。

2022年5月26日 · 更新: 2022年5月26日 · 1 分 · Nakamura

Omeka SにDC-NDL(国立国会図書館ダブリンコアメタデータ記述)を語彙として登録する

Omeka SにDC-NDL(国立国会図書館ダブリンコアメタデータ記述)を語彙として登録する方法です。 まず、以下のように、「語彙の一覧」を選択します。 次に、右上の「人間が理解できる語彙のタイトル。」ボタンをクリックします。(こちらは翻訳データが間違っています。今後修正したいと思います。) そして、以下の画面に示すように、必要な情報を入力します。 具体的な情報は以下です。 大項目 小項目 値 備考 基本情報 ラベル DC-NDL この値は任意です。 基本情報 名前空間URI http://ndl.go.jp/dcndl/terms/ 基本情報 名前空間の接頭語 dcndl ファイル 語彙URL https://www.ndl.go.jp/jp/dlib/standards/meta/2020/12/ndl-terms.rdf 結果、以下のように、DC-NDLが語彙として利用可能になります。 他のRDFスキーマについても同様の方法で登録可能です。参考になりましたら幸いです。

2022年5月25日 · 更新: 2022年5月25日 · 1 分 · Nakamura

Google ColabからGoogle Spreadsheetのデータを取得するサンプルノートブック

Google ColabからGoogle Spreadsheetのデータを取得するサンプルノートブックを作成しました。 以下からお試しいただけます。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/Google_ColabからGoogle_Spreadsheetのデータを取得するサンプル.ipynb 以下のように、Google Spreadsheetの内容を取得できます。 以下、ソースコードです。 from google.colab import auth auth.authenticate_user() import gspread from google.auth import default creds, _ = default() gc = gspread.authorize(creds) import pandas as pd from pandas import json_normalize # シートの指定 ss_id = "<Google SpreadsheetのID>" workbook = gc.open_by_key(ss_id) worksheet = workbook.get_worksheet(0) # 全データを取得 data = worksheet.get_all_records() df = json_normalize(data) df 参考になりましたら幸いです。

2022年5月25日 · 更新: 2022年5月25日 · 1 分 · Nakamura

【備忘録】sam deployを行う際のprofileの指定

以下のようにprofileを指定してdeployする。 sam deploy --guided --profile <profile名>

2022年5月21日 · 更新: 2022年5月21日 · 1 分 · Nakamura

AWS SAMを用いたローカル開発時におけるError building docker imageへの対応

AWS SAMを用いたローカル開発を行う際、以下のような手順を踏んでいます。 sam init --runtime=python3.8 cd sam-app sam local start-api ただ上記を実行した際、以下のエラーが発生することがありました。 samcli.commands.local.cli_common.user_exceptions.ImageBuildException: Error building docker image: pull access denied for public.ecr.aws/sam/emulation-python3.8, repository does not exist or may require 'docker login': denied: Your authorization token has expired. Reauthenticate and try again. この時、以下を実行することでエラーを解消することができました。regionなどは環境に合わせて修正する必要があるかもしれません。 aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws 同様のエラーでお困りの方の参考になりましたら幸いです。

2022年5月21日 · 更新: 2022年5月21日 · 1 分 · Nakamura

gdriveを用いたOmeka Sの簡易バックアップ

概要 gdriveを用いたOmeka Sの簡易バックアップの方法についてのメモです。 ここでは例として、Amazon Lightsailで起動したLAMP環境にインストールしたOmeka Sを対象とします。インストール方法は以下をご確認ください。 gdriveのインストール 今回は、Google Driveにファイルをバックアップします。そのため、gdriveを使用します。以下の記事を参考に、gdriveをインストールしてください。 backup用のスクリプトを用意する $HOMEディレクトリにおいて、例えばbackup.shというファイルを作成します。ファイルの内容の一例は以下です。 # 設定値 ## Omeka Sのインストールディレクトリ OMEKA_DIRNAME=htdocs OUTPUT_DIRNAME=`date +%y-%m-%d` ## MySQLのユーザ名。 USERNAME=root ## MySQLのパスワード。以下のコマンドで確認できます。 ## cat /home/bitnami/bitnami_application_password PASSWORD=<パスワード> ## Omeka Sのデータベース名。例:omekas DATABASE_NAME=<データベース名> FOLDER_ID=<GoogleドライブのフォルダID> # 出力フォルダの作成(日付に基づくフォルダ名を作成) mkdir -p "$OUTPUT_DIRNAME" # sqlのバックアップ mysqldump -u $USERNAME -p$PASSWORD $DATABASE_NAME > $OUTPUT_DIRNAME/dump.sql # omeka関連フォルダの圧縮 zip -q $OUTPUT_DIRNAME/$OMEKA_DIRNAME -r $OMEKA_DIRNAME # Google Driveへのアップロード ./go/bin/gdrive upload --recursive --parent $FOLDER_ID $OUTPUT_DIRNAME # 出力フォルダの削除 rm -rf $OUTPUT_DIRNAME 上記のファイルを作成後、以下のコマンドを実行します。 ...

2022年5月12日 · 更新: 2022年5月12日 · 1 分 · Nakamura

Using gdrive in a LAMP environment started with Amazon Lightsail

Overview Memorandum for using gdrive in a LAMP environment started with Amazon Lightsail, allowing backup of files to Google Drive, etc. Procedure First, access Amazon Lightsail and press the following “Connect using SSH” button on the target instance. You can access the server as follows. Linux ip-172-26-5-202 4.19.0-19-cloud-amd64 #1 SMP Debian 4.19.232-1 (2022-03-07) x86_64 The programs included with the Debian GNU/Linux system are free software; The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the /usr/share/doc/*/copyright. The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. ___ _ _ _ _ _ | _ _ |_) |_ _ _ _ _ _ _ _ _ _ _ __ (_) | _ _ \ \ \}/ _| ' \}/ _` | ' \} |___/_|\__|_|_|\__,_|_|_|_|_|_| *** Welcome to the LAMP packaged by Bitnami 7.4.28-14 *** *** Documentation: https://docs.bitnami.com/aws/infrastructure/lamp/ *** *** https://docs.bitnami.com/aws/ *** *** Bitnami Forums: https://community.bitnami.com/ *** Last login: Thu May 12 03:25:13 2022 from 72.21.217.186 bitnami@ip-172-26-5-202:~$ Install golang Install golang as follows. ...

2022年5月12日 · 更新: 2022年5月12日 · 2 分 · Nakamura

Amazon Lightsailで起動したLAMP環境でgdriveを使用する

概要 Amazon Lightsailで起動したLAMP環境でgdriveを使用するための備忘録です。Google Driveへのファイルのバックアップなどが可能になります。 手順 まず、Amazon Lightsailにアクセスして、対象となるインスタンスにおいて、以下の「Connect using SSH」ボタンを押します。 以下のように、サーバにアクセスできます。 Linux ip-172-26-5-202 4.19.0-19-cloud-amd64 #1 SMP Debian 4.19.232-1 (2022-03-07) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. ___ _ _ _ | _ |_) |_ _ _ __ _ _ __ (_) | _ \ | _| ' \/ _` | ' \| | |___/_|\__|_|_|\__,_|_|_|_|_| *** Welcome to the LAMP packaged by Bitnami 7.4.28-14 *** *** Documentation: https://docs.bitnami.com/aws/infrastructure/lamp/ *** *** https://docs.bitnami.com/aws/ *** *** Bitnami Forums: https://community.bitnami.com/ *** Last login: Thu May 12 03:25:13 2022 from 72.21.217.186 bitnami@ip-172-26-5-202:~$ golangのインストール 以下のように、golangをインストールします。 ...

2022年5月12日 · 更新: 2022年5月12日 · 1 分 · Nakamura

What to do when

Overview When creating a large number of files on a shared drive, I encountered an error message “An error has occurred in Google Drive. and the file could not be saved. The cause of the above may be that the file was caught by the shared drive limitation shown below. https://support.google.com/a/answer/7338880?hl=en *The maximum number of items that can be stored on a shared drive The maximum number of items that can be stored on a shared drive is 400,000. This includes files, folders, and shortcuts. * ...

2022年5月9日 · 更新: 2022年5月9日 · 3 分 · Nakamura

「Google ドライブでエラーが発生しました。」が生じた時の対処方法:共有ドライブのゴミ箱を空にするスクリプト

概要 共有ドライブに対して大量のファイルを作成した際、以下のように「Google ドライブでエラーが発生しました。」が表示され、ファイルを保存できなくなる事象に出会いました。 上記の原因として、以下に示す共有ドライブの制限に引っかかったことが考えられます。 https://support.google.com/a/answer/7338880?hl=ja 共有ドライブに保存できるアイテム数の上限 共有ドライブに保存できるアイテム数は最大 40 万個です。これにはファイル、フォルダ、ショートカットが含まれます。 1 日のアップロードの上限 個々のユーザーがマイドライブおよびすべての共有ドライブにアップロードできるのは、1 日あたり 750 GB までです。 2つ目の「1日のアップロードの上限」に引っかかってしまった場合には、1日待つほかないと思います。 一方、1つ目の「共有ドライブに保存できるアイテム数の上限」について、不要なファイルを削除することで対応することができます。 ただし、単にファイルを削除しただけでは、それらがゴミ箱に残ってしまい、(おそらく)先の制限を解除することができません。そこで、共有ドライブのゴミ箱を空にするスクリプトを探したところ、以下の記事に辿り着きました。 https://stackoverflow.com/questions/57764248/is-there-a-script-to-empty-google-team-drive-trash-related-folders 以下、上記で紹介されているスクリプトの使用方法について説明します。これにより、先述した「共有ドライブに保存できるアイテム数の上限」に引っかかってしまった際、その制限を解除することができます。 共有ドライブのゴミ箱を空にするスクリプトの実行方法 以下のスクリプトをコピペして利用します。 const driveId = "<共有ドライブのID>"; function myFunction() { var optionalArgs={driveId, 'includeItemsFromAllDrives':true, 'corpora': 'drive', 'supportsAllDrives': true, 'q':'trashed = true' } while(true){ var trashed=Drive.Files.list(optionalArgs).items; console.log("削除対象のファイルサイズ", trashed.length) for(var i=0;i<trashed.length;i++){ //console.log(i, trashed[i].id) try { Drive.Files.remove(trashed[i].id, {'supportsAllDrives':true}) } catch (e){ //console.log({e}) } } if(trashed.length == 0){ break } } } まず、以下のURLにアクセスしてください。 https://script.google.com/home そして、下図に示す、「新しいプロジェクト」をクリックします。 先のスクリプトをコピペしてください。コピペ後、一行目の「driveId」を変更し、画面上部の「保存」ボタンを押してください。 次に、サービスを追加します。「サービス」から「Drive API」を追加してください。 その後「実行」ボタンを押します。 初回は承認が求められます。 以下に示すように、100件ずつ削除されていきます。 一定時間が経過すると、以下のようにエラーが発生します。その場合には、再度「実行」ボタンを押してください。 まとめ よりよい解決策があるかもしれませんが、「Google ドライブでエラーが発生しました。」等でお困りの方の参考になりましたら幸いです。 追記 2022.05.06 GASでは、スクリプトの実行時間が6分間という縛りがあるそうです。 ...

2022年5月6日 · 更新: 2022年5月6日 · 1 分 · Nakamura

Google Colabを用いたgcv2hocrの実行例:Google Vision APIを用いた透明テキスト付きPDFファイルの作成

概要 gcv2ocrは、Google Cloud Vision OCR出力からhocrに変換して、検索可能なpdfを作成するリポジトリです。 https://github.com/dinosauria123/gcv2hocr 今回、上記リポジトリをGoogle Colabで実行するノートブックを作成しました。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/gcv2hocrの実行サンプル.ipynb 以下のように、検索可能なpdfファイルを作成することができます。 使い方 以下のノートブックにアクセスします。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/gcv2hocrの実行サンプル.ipynb まず、Google Cloud Vision APIを使用するためのAPIキーを取得します。以下の記事などが参考になります。 https://zenn.dev/tmitsuoka0423/articles/get-gcp-api-key APIキーを入力したら、以下の初期セットアップに関する3つの再生ボタンを押します。 その後は、以下に示す実行オプションから、適切なものを選択します。 画像 画像のURL 画像のアップロード PDF PDFのURL PDFのアップロード IIIF IIIF 例えば、「画像のURL」を指定する場合、以下に示す「設定」と「実行」の2つの再生ボタンを押します。 実行後、PDFファイルがダウンロードされます。また、認識結果等が出力されるパスが表示されます。 まとめ gcv2ocrやhocr-toolsなど、便利なツールを開発してくださった方々に感謝いたします。

2022年5月3日 · 更新: 2022年5月3日 · 1 分 · Nakamura

Google Colabを用いたGoogle Drive上のファイルの削除方法

Google Drive上のファイルをGoogle Colabを用いて削除する例を示すノートブックを作成しました。Google Drive上に不要なファイルを大量に作成してしまった際など、ご活用いただけますと幸いです。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/Google_Drive上のファイルを削除するノートブック.ipynb

2022年5月2日 · 更新: 2022年5月2日 · 1 分 · Nakamura

Google Colabを用いたNDLOCRアプリのVersion 2を作成しました。

お知らせ ノートブックのURL https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/ndl_ocr_v2.ipynb 2022-07-06 使い方のデモ動画を作成しました。 https://youtu.be/46p7ZZSul0o またルビのテキスト化機能が追加されました。 概要 Google Colabを用いたNDLOCRアプリを作成し、以下の記事で紹介しました。 今回は、上記ノートブックの改良版であるVersion 2を作成しましたので紹介します。以下からノートブックにアクセスいただけます。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/ndl_ocr_v2.ipynb 特徴 複数の入力形式に対応しました。以下のオプションを使用できます。 画像 単一の画像ファイルのURLを指定する場合 単一の画像ファイルをアップロードする場合 複数の既にダウンロード済みの画像ファイルを対象にする場合(Sigle input dir mode) 複数の既にダウンロード済みの画像ファイルを対象にする場合(Image file mode: 単体の画像ファイルを入力として与える場合) PDF 単一のPDFファイルのURLを指定する場合 単一のPDFファイルをアップロードする場合 単一の既にダウンロード済みのPDFファイルを対象にする場合 複数の既にダウンロード済みのPDFファイルを格納したフォルダを指定する場合 IIIF IIIFマニフェストファイルのURLを指定する場合(本記事執筆時点ではPresentation API v2のみ) PDFファイルやIIIFマニフェストファイルの入力をサポートします。また、Version 1では事前にGoogle Driveに画像ファイルをアップロードする必要がありましたが、Version 2では画像ファイルのURLの指定や、アップロードフォームによる登録機能を提供しています。 さらに、上記のいくつかのオプションにおいて、実行後に推論結果をマージしたテキストファイルをダウンロードする機能を提供します。ダウンロードしたテキストファイルをVoyantツールなどの他のアプリケーションに使用することができます。(なお本格的な分析にあたっては、認識結果の修正やトークナイズの方法など、各種調整が必要です。) 使用方法 1.初期セットアップ 以下に示す2つの実行ボタンを押してください。Googleドライブのアクセス許可が求められるので、許可してください。 2.設定 上述したオプションから、目的に応じたものを選択してください。各オプションに付与されたリンクをクリックすると、当該オプションの設定画面に遷移します。 実行後 実行後は、以下のように、出力フォルダが表示されます。設定において選択したprocessの値が「@(アットマーク)」とともにフォルダ名に付与されます。また既に出力フォルダが存在する場合には、フォルダ名の末尾に実行時間に基づくIDが「_(アンダーバー)」とともに付与されます。 また単一のファイルを処理するオプションを選択した場合、実行後、以下のようにテキストファイルがダウンロードされます。 まとめ NDLOCRアプリの利用にあたって、参考になりましたら幸いです。

2022年5月2日 · 更新: 2022年5月2日 · 1 分 · Nakamura