Web版ラスタベクタ変換
アップロードした画像ファイルをラスタベクタ変換して、結果をdxfファイルとして自動的にダウンロードします
ライブラリのコアとなる変換機能だけを制限付きで無償提供しています
制限事項は以下の通り
- 後処理の制限 ライブラリには18種類の後処理がありますが、そのうち数個の後処理をセットで行うか全く後処理を行わないかの2択です。
- 画像サイズの制限 画像ファイルのサイズは5MBまで、画像の幅や高さは8000ピクセルまで、画像の総画素数は3200万画素まで
- 変換頻度の制限 一時間当たり20ファイル、一分当たり3ファイルまで
- 画像ファイルのフォーマットはjpg/png/bmp/tif/gifの5種類のみ
サーバーの負荷を減らすため。ライブラリには制限はありません。
特定のIPアドレスからの変換リクエストの集中を防止するために変換頻度も制限しています
それでも心配な方は、秘匿画像をアップロードしないようにしてください
ソースコードを購入することで、デスクトップ上やローカルサーバー上で無制限にライブラリの機能を使うことができるようになります
Google Cloud Run上のWebアプリケーションは(https://artlogic-alvec.cloud.run)です
操作法
(1) index.htmlによる変換画面
Google Cloud Run上のWebアプリケーションは(https://artlogic-alvec.cloud.run)です
Microsoft Azure App/Amazon ECS Express Mode上でも動作確認しています
アップロードした画像ファイルは、変換の成否にかかわらず即座に消去されます
心配な場合は、ソースコードを入手することでオンプレミスで無制限に変換機能を使うことができるようになります

この行をクリックすると、ソースコードの入手についての説明が表示されます。
もう一度クリックすると説明が消えます
クリックすると詳細が表示されます。もう一度クリックすると詳細が閉じます
以下に該当する場合、ソースコードを入手することができます(クリック)
- 秘匿性が高い画像をサーバーに送りたくない ローカルなPCで処理を完結したい
- 8000×8000、最大32Mピクセルより大きい画像を変換したい ギガピクセル級の巨大な画像でも変換可能
- 無制限に大量の画像を高速で変換したい web版は、同一IPアドレスからのリクエスト制限により3枚/1分、20枚/1時間となっています
- 変換パラメータや後処理を細かくコントロールしたい 細かい変換パラメータのコントロール
- 自社でweb/デスクトップアプリケーションを展開/発売したい 商用利用可能、Web展開可能
- 特に理由は無いがオンプレミスで実行したい Windows/Linux/32bit/64bitでの組み込み可能
- 単に変換のアルゴリズムを学びたい 他のライブラリへの依存はありません。ライブラリ内ですべてが完結
オンプレミス版は無制限。10,000ファイル/1時間でも可能です。
円変換やスプライン変換、鋭角鮮鋭化、交差点の座標補正等18種類の後処理
ソースコードを第三者に公開することにだけ制限があります
自社サーバーでの運用のためのソースコードも完備
Google Cloud Run/Azure App Service/Amazon ECS Express Modeで動作確認済み
Pythonからの呼び出しコード付属。Python/Flask/gunicornコード完備 Pythonによるデスクトップアプリケーションソースコード付属
(2) index.htmlによる変換:「変換する画像の入力」と「dxfファイルに変換」
変換する画像を選んで、「dxfファイルに変換」ボタンをクリックしてみましょう
最初にローカルPC上の画像ファイルを指定します
必要に応じて変換オプションを指定して、「変換」ボタンをクリックすると画像ファイルがアップロード後に変換
変換結果はdxfファイルとして自動的に、ブラウザで設定したダウンロード先にダウンロードされます
(3) 変換オプションの指定
- 変換精度の指定 精度が高いと頂点が多く、精度が低いと頂点が少なくなります
- 解像度の指定 dpi単位で解像度を指定します。0を指定すると画像ファイルの解像度情報を使います
- 後処理の指定 後処理の有無を指定します。後処理は18種ありますが、ここでは後処理無しも含めて4つの選択肢となります
- 前処理の指定 前処理の有無を指定します。面図形の輪郭を抽出するか、線図形の芯線を抽出するかを4つの選択肢から指定します
ラスタ画像のピクセル単位を、dxfファイルのmm単位に変換するために必要な情報です
数値が小さいほど、精度が高く、頂点数が多くなります
数値が大きいほど、精度が低く、頂点数が少なくなります
画像ファイルの解像度情報を使う場合は"0"を指定してください
Web版の自動ネストアプリでは、カメラ画像を自動補正して解像度も同時に推定する機能がありますが、本アプリではカメラ画像は対象としていません
18種の後処理のうち、「近接頂点の統合」「同一直線上の不要頂点の削除」「鋭角の鮮鋭化」の3つを固定パラメータで実行します。セットで実行するため、どれか一つを実行することはできません
また、円弧変換+ジョイント(交差点での突き抜け処理)するか否かを指定することもできます。片方だけを実行することはできません
- (0) 3つの後処理を実行する。円弧変換もジョイントも無し
- (1) 3つの後処理を実行する。円弧変換もジョイントもあり
- (2) 後処理を実行しない。円弧変換もジョイントも無し
- (3) 後処理を実行しない。円弧変換もジョイントもあり
- (0) 全ラスタ画像を対象に輪郭変換する
- (1) 全ラスタ画像を対象に芯線変換する
- (2) 面図形のみを対象に輪郭変換する
- (3) 線図形のみを対象に芯線変換する
(4) curlによるサーバー機能呼び出し
linuxのcurlコマンドによって、サーバーの機能を全て使うことができます。
| キー | 内容 | キー=値の例 |
|---|---|---|
| input_file | 送信する入力ファイル名。"@"は後続のファイルを送信するという意味 | input_file=@sample1.bmp |
| threshold | threshold値(0.8~10.0) | threshold=1.0 |
| dpi | 解像度(単位dpi) : 0の場合は画像ファイルの解像度情報を使う | dpi=300 |
| flag | 後処理フラグ
|
flag=0 |
| centerline | 変換対象と前処理
|
centerline=0 |
ローカルサーバー上のflaskでの利用
以下のflaskコマンドで起動した場合
flask --app app run \
--debug \
--host 127.0.0.1 \
--port 5000
以下のurlでindex.htmlを立ち上げるか
http://127.0.0.1:5000 or http://localhost:5000
curlコマンドでconvertエントリを呼び出します。
curl \
-F "input_file=@sample1.bmp" \
-F "threshold=1.0" \
-F "dpi=300.0" \
-F "flag=0" \
-F "centerline=0" \
http://127.0.0.1:5000/convert \
--output result1.dxf
gunicornで以下のようにサーバーを起動した場合も同じcurlコマンドを使うことができます。
$ gunicorn \
--bind 127.0.0.1:5000 \
--workers 1 \
--threads 1 \
--timeout 120 \
--access-logfile - \
--error-logfile - \
app:app
Google Cloud Run上のurlを使う場合
特に認証も不要の無料Webアプリなので curl コマンド以下のように呼び出します。
ただし、アクセス集中を防ぐために、同一IPアドレスからの呼び出し頻度には以下の制限があります。
- 1分間に3回まで
- 1時間に20回まで
curl \
-F "input_file=@sample1.bmp" \
-F "threshold=1.0" \
-F "dpi=300.0" \
-F "flag=0" \
-F "centerline=0" \
https://artlogic-alvec.cloud.run \
--output result1.dxf
(6) ソースコード
ライブラリのソースコードは有償です
全ソースコード付属。内容は以下の通り
Windows/Linuxでライブラリのビルドが可能
Linux用のCMake(CMakeLists.txt)完備
Webアプリにより変換機能を公開していますが、
購入希望者はshopifyサイトより購入するか当社に直接問い合わせください。
ライブラリソースコード以外の付属品は以下参照
・C++クラスライブラリリファレンスマニュアル
htmlファイルにより提供