BMP2DXF.txt 2026/01/13

■ 概要

　提供する機能は下記の 5 つで、本ツール単体でのラスベク変換は行えません。

　1. CAD 画面上の矩形範囲を切り取り、ラスベク変換に渡す。
　2. CAD 上のラスターイメージからファイル名を取得し、ラスベク変換に渡す。
　3. ラスベク変換が出力したベクトルファイルを、CAD 上の元の位置に尺度を合わせて挿入する。
  4. 切り取り画像のモノクロ（二値）化、ノイズ除去、ぼかし処理。
 
　対応しているラスベク変換（いずれもフリーウェア）

　1. WinTopoFree
　　アプリケーションとして、単体で使えます。
　　コマンドラインでは使えません。(WinTopoPro は可能）
　　細線化（直線、曲線）、境界、輪郭取得が行えます。
　　カラーに対応しています。出力されるベクトルデータもカラーです。
　　
　　WinTopoFree は、毎回新たに起動されるため、手動で終了してください。
　　ステータスバーのアイコンを右クリック。「すべてのウィンドウを閉じる」を
　　クリックすると速いです。

　2. Potorace
　　コマンドラインでのみ動き、設定は起動オプションに追加します。
　　輪郭取得が行えます。非常にきれいです。

　3. VTracer
　　インストール不要です。
　　コマンドラインでのみ動き、設定は起動オプションに追加します。
　　境界、輪郭取得が行えます。
　　グラデーション閾値オプション --gradient_step 75 とかが使えます。

　　DXF ファイルへの出力は不可。SVG は可能。
　　SVG->DXF 変換は本ツールで行っています。この時、色情報を無視しています。

　　高速化のために、曲線を直線に変換時データ数をかなり間引いています。
　　曲線の分割数の設定を追加しています。(2025/23/30)
　　VTracer の曲線に関係するオプションは、DXF ファイルに反映されません。

　　グラデーション層の色差しきい値のステップ設定のオプションは、
　　--gradient_step 75 （75 が色差しきい値のステップ）で、設定できました。

■ WinTopo、Potrace、VTracer の登録

　WinTopo
　[CAD -> WinTopo] タブをアクティブにして、exe ファイルをドラッグ＆ドロップしてください。

　Potrace
　[CAD-Potrace] タブをアクティブにして、exe ファイルをドラッグ＆ドロップしてください。

　VTracer
　[CAD-VTracer] タブをアクティブにして、exe ファイルをドラッグ＆ドロップしてください。

■ 切り取り画像の処理

　ラスベク変換に切り取り画像を渡す前処理として、ノイズ除去、ぼかしを追加しました。
　小さいギザギザの除去に効果があります。いずれも、コーナーが丸くなる傾向があります。

　モノクロ化のチェックボックスをオンにすると、切り取った画像をモノクロ画像に変換します。


■ CAD 上のラスターイメージの処理

　WinTopo に渡す画像に、モノクロ化の処理を追加できます。
　CAD で使用している画像ファイルには手を加えません。

　モノクロ化のしきい値は「閾値自動」のチェックをオンして、
　「1. CAD 画像を選択」ボタンで、CAD 上の画像を選択。WinTopo の画像を確認。
　自動計算の数値を参考にして変更してください。

　「CAD 上で微妙な傾きを補正済み」のチェックボックス
　紙図面をスキャンした画像で、図面が微妙に傾いているのを手動で修正済みの場合、
　チェックをオンにすると、元画像を回転した画像を WinTopo に渡します。
　水平、垂直線に変換される可能性が少し高くなります

　モノクロ化した画像は、BMP2DXF.exe フォルダ内の bmp2dxf.bmp に一時的に保存されています。
　再利用するときは、リネームしてください。

　※ WinPotoFree には、明示的な「二値化（Threshold）」設定はなく、
　　One-Touch Vectorisation の内部処理として自動的に行われるようです。

■ 色取得ボタン

　画面上でマウスを動かすと、マウス直下の 輝度値, R, G, B の数値が表示されます。
　輝度値を参考にして閾値を変更してください。
　輝度値が閾値より大きいと白(255)、小さいと黒(0)になります。
　
　[色取得 ON] ボタンをクリックすると、名称が [色取得 ONF] に変わり、マウスカーソル
　位置の色が取得できます。
　※こちらの環境では、マウスを動かすとフォームがちらつきます。
　
　フォームをアクティブにしてマウスを動かすと、小さい四角の左側の色がカーソル位置の
　色にかわります。右側の四角は設定している閾値によって、白か黒に変わります。
　モノクロ化の閾値設定の参考にして下さい。
　閾値が大きいほど、薄い色を認識しやすくなります。

　※ CAD がアクティブな状態では CAD のラインカーソルの色が取得されてしまいます。

　[色取得 ONF] ボタンをクリックして、色取得モードを終了して下さい。

■ 挿入される DXF ファイルについて

　画層 = 0、色 = ByLayer で作成されます。
　線分が見にくいときは、色を変えてください。または、0 画層の色を変えてみてください。
　特に WinTopo はカラーに対応しているため、灰色で表示されいたりします。

■ その他

　使用しているファイル名は bmp2dxf.bmp、bmp2dxf.dxf、bmp2dxf.svg 固定です。
　フォルダは、本ツール BMP2DXF.exe の収納フォル固定です。 
　切り取り範囲、基点、尺度、画像は、WinTopo 用、Potrace 用、VTracer 用で共用しています。
　ファイル作成待ち時間の単位はミリ秒です。
　DXF ファイル読み込みのタイミングが合わない時は大きくしてみてください。

■ WinTopo

「1. CAD 切り取り」ボタン
　　CAD 画面上の任意の矩形範囲を切り取り、WinTopo に渡します。
　　画面解像度に影響されるため、図面の必要な範囲を部分ごとに切り取ってください。

「1. CAD 画像選択」ボタン
　　CAD 上の「ラスターイメージ」の元画像ファイルを Bitmap に変換し、WinTopo に渡します。
　　画面の表示状態、解像度に関係しません。
　　ラスター図形は選択しにくいので、外周の境界をクリックしてください。

「2. ベクトル化」ボタン
　　ベクトル化が始まらないときは、Wintopo をアクティ日にして [F10] キーを押してください。

「3. DXF 保存」ボタン
　　ベクトル化の結果を bmp2dxf.dxf に保存します。
　　かなり失敗します。
　　反応がないときは、メニュー - File - Save Vector As...を選択して下さい。

「4. CAD へ挿入」ボタン
　　保存された bmp2dxf.dxf を CAD に挿入します。
　　「WinTopo 終了」のチェックがオンのときは、 WinTopo の終了を試みます。
　　終了しない時は、手動で終了させてください。[ALT]+[F4]キーで終了します。
　　

■ 切り取り画像、ラスターイメージを WinTopo に渡す前の処理

「傾きを補正済み」（ほとんど効果はありません。）
　　例えば、スキャンした図面が微妙に傾いていることがあります。
　　これを ROTATE コマンドで修正して、水平、垂直をいるとき、WinTopo に渡す画像を同じように
　　回転させて渡します。
　　WinTopo が受け取る画像は、水平、垂直が合った画像になるため、直線化がある程度良い方向に
　　なり、階段状の直線が少なくなるでは？と期待を込めて追加してみましたが、
　　実際はドットが一列に並ぶわけではないので、期待通りにならないほうが多いようです。

「モノクロ化」
　　モノクロ画像に変換して渡します。
　　「閾（しきい）値」をチェックしておくと、「大津氏の二値化法」で閾値を自動で計算、
　　オフの時は、その右の入力した値を採用します。

「ノイズ除去」
　　メディアンフィルタ（Median Filter）によって、画像に含まれるノイズを軽減します。。
　　※ 画像の大きさによってかなり時間がかかるため、切り取り時のみ有効です。

「エッジをなめらかに」
　　ガウシアンフィルタ(Gaussian filter) によって、画像に含まれるノイズを軽減します。
　　※ 画像の大きさによってかなり時間がかかるため、切り取り時のみ有効です。

※いずれも、WinTopo で画像を確認してください。
　
■ 履歴

　2025/12/24 
　　初版作成
　2025/12/25 DXF
　　ファイルのコメント文の削除を追加
　2025/12/25a
　　DXF ファイルのコメント文の削除をとりやめ、DXF ファイル作成待ちのミリ秒設定を追加
　2025/12/26
　　WinTopoFree 対応を追加
　2025/12/29
　　VTracer 対応を追加。
　　切り取り画像の２値化のチェックボックス、閾値の変更を追加
　　カーソル位置の色の取得を追加
　2025/12/30
　　VTracer での曲線の分割数の設定を追加
　2025/12/31
　　切り取り画像のノイズ除去（フィルター）のチェックボックスを追加
　　切り取り画像のぼかし処理のチェックボックスを追加
　　-INSERT されたかが分かりにくいため、"-INSERT 終了!" の表示を追加
　2026/01/02
　　[CAD-Potrace] タブがアクティブな状態で、potrace.exe をドラッグ＆ドロップしても、
　　potrace.exe が登録されないのを手直し
　2026/01/03
　　[CAD-VTracer] タブの「切り取り」で、DXF ファイルが挿入されなくなっていたのを手直し
　　イメージ表示の高さが固定になっていたのを手直し

　2026/01/04
　　WinTopo を使った CAD 上のラスターイメージのラスベク変換を追加
　2026/01/04a
　　ラスターイメージのラスベク変換で挿入尺度の計算が間違っていたのを手直し
　　WinTopo のメニュー操作が失敗することがあるのを対策

　2026/01/05
　　ラスターイメージのラスベク変換前にモノクロ化を追加
　　WinTopo のメニュー操作が失敗することがあるのを再度対策

　2026/01/07
　　モノクロ化の閾値設定に「大津氏の二値化法」を追加
　　回転補正済みのラスターイメ時の回転に対応

　2026/01/13
　　WinTopo 「4. CAD へ挿入」で　WinTopo の終了を試みるを追加
　　WinTopo のメニュー操作が（失敗しないための対策ではなく）失敗した時の対策を追加

■ 著作権、制限事項

　本ツールの著作権は、作者 f.izawa が所有し、これを主張します。
　本ツールを使用したことによる事故、損害等の一切について、作者はその責を負いません。
　使用される方の責任において、使用して下さい。

■ 作者連絡先

　e-mail : f.izawa@dream.com
　URL : http://www.izawa-web.com/
