CAD 台形補正2 - Ver.0.88a 2025/09/21


■ 概要

 CAD 上の画像に閉じたポリラインで台形を描いておき、画像と一緒に選択することで、
 台形補正の画像を作成します。
 BricsCAD, IJCAD, ZWCAD, ARES で動くと思います。
 AutoCAD でも動く可能性はありますが、確認はしておりません。

■ 短い動画:https://youtu.be/u4dJSBkScow

 

■ 使い方

 「画像上に台形ポリラインを描く」のチェックボックスをオフ。
 「バイキュービックを使う」のチェックボックスをオフ。
 「画面キャプチャを使う」のチェックボックスをオフにしておきます。

 ※ 「画面キャプチャを使う」のチェックボックスがオフのときは、画像ではなく OLE フレームで
  あっても、台形補正できます。

 予め、画像の上に左上から順に右回りの4点を指示し、C オプションで閉じたポリラインを
 描画しておきます。
 ※「画面キャプチャを使う」のチェックボックスがオフのときは、画像の各頂点に近いポリ
 ラインの頂点が採用されます。
 
 「画像と台形ポリラインを選択」ボタンをクリックして、画像と台形ポリラインを一緒に
 選択し、[Enter] を押します。

 しばらくすると、フォームの右側に台形補正後の画像が表示されます。
 台形補正後の画像は、一時ファイルとして、Daikei2.exe フォルダの TEMP フォルダに、
 < 日付+時刻 > 名の PNG が作成されます。
 ファイルを確認するには、ファイル名の右側の [ > ] ボタンをクリックすると、
 エクスプローラーが開き、ファイルがアクティブになります。

 CAD にアタッチするには、エクスプローラーからファイルをドラッグ&ドロップするか、
 [一時画像をアタッチ」ボタンをクリックします。

 図面上に画像を残す場合は、「名前を付けて保存」ボタンをクリックし、ファイル名を変更
 して保存します。
 デフォルトのファイル名は、元画像と同じファイル名 + "_HOM"+ 元の拡張子になります。

 ファイルを確認するには、ファイル名の右側の [ > ] ボタンをクリックすると、
 エクスプローラーが開き、ファイルがアクティブになります。

 CAD にアタッチするには、エクスプローラーからファイルをドラッグ&ドロップするか、
 [保存画像をアタッチ」ボタンをクリックします。

■ チェックボックス

 ・「画像上に台形ポリラインを描く」のチェックボックス
  オンにすると、左側の画像上に台形ポリラインを赤色で描画します。
  結果、右側の台形補正後の画像にも描画されます。

 ・「バイキュービックを使う」のチェックボックス
  オンにすると、時間はかかりますが、画像がなめらかになります。

 ・「画面キャプチャを使う」のチェックボックス
  オンにすると、元の画像ファイルではなく、画面キャップチャの画像から台形補正を
  行います。
  画像が無くても(OLE フレームであっても)台形補正でき、ターゲットの CAD によっては
  手軽で快適ですが、CAD、画面の解像度によって、実用にならない場合があります。

  画面キャプチャのタイミングが合わないときは、
  システム変数 VTENABLE(アニメーション ズーム)の値を 0 に変更してみてください。

  「名前を付けて保存」の保存先の規定値は、Daikei2.exe フォルダ内の IMAGE フォルダです。
  このフォルダ内のファイルは、アタッチに使用されることを想定して、自動で削除されません。
■ 画像のファイル拡張子

 読み込み、保存とも PNG, BMP, JPG/JPEG, TIF/TIFF に対応しています。
 
 ※「画面キャプチャを使う」のチェックボックスがオンのときは、画像ファイルを読み
  込まないため、拡張子は関係ありません。画像ではなく OLE フレームであっても、台形補正できます。

■ 一時ファイル

 Daikei2.exe フォルダの TEMP フォルダ内の画像ファイルは、一時ファイルです。
 不要になったときは適当に削除してください。

 「終了時、一時画像ファイルを削除」のチェックボックスがオンのときは、終了時に
 自動で削除されます。

 ※一時画像ファイルを図面上にアタッチしているときは、次回の読み込み時に参照先が
  見つからなくなります。
  図面上に画像を残す場合は、「名前を付けて保存」したファイルをアタッチして下さい。

■ 台形補正について

 単に台形部分を四角形に引き延ばしているだけなので、縦横比、寸法は正確ではありません。
 プログラム上は、上下、左右の辺の長さの平均値を長辺、短辺の長さとしています。

 試しに 2 点透視っぽい図形を台形補正してみると、下図のようになりました。
 分かりにくいですが、画像の縦横を実寸に合わせると、ほぼ使えるレベルだと思います。

 「バイキュービックを使う」のチェックボックスがオフのときは、最近傍補間(ニアレストネイバー)で変換しているため、
 画像はなめらかではありません。極端な例ですが、下の画像のようになります。


 「バイキュービックを使う」のチェックボックスがオンのときは、ある程度なめらかになるようです。


■ CAD、画面解像度の関係
 
 こちらの環境は、高 DPI (4K) 環境です。

 左が ARES で画面キャプチャで台形補正した画像、右が画像ファイルから台形補正した画像です。
 高 DPI 環境でなければ、こうなるのかも知れない・・・のサンプルで、キャプチャ画像からの台形補正は、実用不可なのかも知れません。
 CAD、画面の解像度が低い場合は、「画面キャプチャを使う」をオフにして使って下さい。


■ 傾き補正(水平基準)

 ・参照2点による傾き補正(トレース用)
  微妙に回転された(傾いている)画像の回転角度を補正します。
  やっていることは、ROTATE コマンドの R(参照) と同じです。

  画像の上に水平にしたい線上に左から右方向に線分を作成します。
  「参照2点による傾き補正」ボタンをクリックし、画像と回転したい他の図形、作成
  しておいた線分を選択し、[Enter] を押します。
  作成した線分の左側の端点(回転の基点になります)と右側の線上点、または端点を
  指示します。

 ・参照2点による傾き補正画像を作成(ラスべく変換用)
  微妙に傾いたラスべく変換用の画像を、基準2点の指示で回転した画像を作成します

  「参照2点による傾き補正画像を作成」ボタンをクリックして、画像を選択し [Enter]。
  参照角度として水平にしたい任意の2点を指示するか、回転角度を入力します。
  画像自体を単純に回転したいときは、角度の±を反転した数値を入力して下さい。

  しばらくすると、フォームの右側に回転された画像が表示されます。
 
  「余白=白色」のチェックボックスがオンのときは、余白(対応する画像が無いところ)が
  白色に、オフのときは黒色になります。

  「バイキュービックを使う」のチェックボックスがオンのときは、時間はかかりますが、
  画像がなめらかになります。

  「名前を付けて保存」ボタンで、ファイル名を変更して保存します。
  デフォルトのファイル名は、元画像と同じファイル名 + "_ROT" + 元の拡張子になります。

  ファイルを確認するには、ファイル名の右側の [ > ] ボタンをクリックすると、
  エクスプローラーが開き、ファイルがアクティブになります。

  「保存画像をアタッチ」ボタンで、CAD 上にアタッチできます。

■ 使用ライブラリ

 台形補正については、https://mam-mam.net/ 様のサンプルコードを使用しています。

 「射影変換(ホモグラフィ変換)で画像の台形や平行四辺形領域を長方形変換」
 https://mam-mam.net/delphi/vcl_homography.html
 「DelphiでTBitmap画像を任意角度に回転|バイキュービック補間付きの実装コード公開」
 https://mam-mam.net/delphi/vcl_rotate_image.html

 ソースコードの公開に感謝いたします。

■ 著作権、制限事項等

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

■ ダウンロード

 Ver.0.88a 2025/09/21 キャプチャ時、「名前を付けて保存」できないのを対策。
 http://www.izawa-web.com/zip/Daikei2_20250921.zip

■ 作者連絡先

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

■ 履歴

 2025/09/13 Ver.0.80 初版作成
 2025/09/13a 同梱 LISP のみの変更(回転した画像のサイズ変更に対応)
 2025/09/13b Ver.0.81 ポリラインの頂点数の確認を追加、イメージが選択されているかの確認を削除
 2025/09/16 Ver.0.82 ARES にてズーム処理ができないのを対策
 2025/09/16a Ver.0.82a フォームサイズが可変になっていたのを手直し。変換中のカウントアップ表示を追加。
 2025/09/17 Ver.0.83 バイキュービックのチェックボックスを追加。
 2025/09/17a Ver.0.84 画像サイズが大きいとき、台形補正が失敗するのを修正
 2025/09/18 Ver.0.85 画像ファイルから台形補正するモードを追加、画面キャプチャを使うのチェックボックスを追加
 2025/09/18a Ver.0.85a ARES で画面キャプチャのタイミングが合わないのを対策
 2025/09/19 Ver.0.86 変換元の画像ファイル形式に TIF/TIFF を追加
 2025/09/20 Ver.0.87 角度補正のタブ(ページ)を追加
 2025/09/20 Ver.0.88 角度補正を微妙な傾き補正用に変更
 2025/09/21 Ver.0.88a キャプチャ時、「名前を付けて保存」できないのを対策


■ CADOCR との組み合わせ

 画像ファイルからの台形補正後に、CADOCR を使ってみました。
 紫色の文字が OCR 文字です。完璧ではありませんが、たたき台としては使えそうです。