過去ログ
キーワード 条件 表示

Delphi : ディスプレー表示倍率の取得  izawa - 2026/02/05(Thu) 13:38 No.6669

Delphi 10.3 以降であれば、Self.ScaleFactor で取得できるのだそうです。
いいですね。

Re: Delphi : ディスプレー表示倍率の取得  izawa - 2026/02/05(Thu) 14:01 No.6670

簡易的な色選択ダイアログを作ってみました。
http://www.izawa-web.com/image/colordialog.png


delphi CADOCR  izawa - 2026/02/01(Sun) 18:50 No.6659

更新しました。
Ver.0.98 2026/02/01
 ・Exe 内部に OCR 呼び出し機能を組み込み、名前を delphiCADOCR に変更
 ・CAD 上に表示できない可能性のある OCR 文字の検出を追加
 ・OCR 結果の一覧表示に、カット、コピー、ペースト、アンドゥ機能を追加
 ・OCR 結果の一覧表示に、文字列幅の表示を追加(表示のみで幅係数の自動計算は未対応)
http://izawa-web.com/cadocr/cadocr.html

Re: delphi CADOCR  izawa - 2026/02/01(Sun) 18:59 No.6660

>・CAD 上に表示できない可能性のある OCR 文字の検出を追加
1文字だけ、薄い明朝体っぽい文字がまぎれていることがあります。
これを CAD に TEXT で挿入すると、?で表示されます。
・・・の対策です。

Re: delphi CADOCR  izawa - 2026/02/02(Mon) 10:06 No.6661

更新しました。
・OCRTEXT 作成画層(CADOCR)の色の設定を追加しました。

Re: delphi CADOCR  izawa - 2026/02/02(Mon) 17:39 No.6662

更新しました。-> Ver.1.0
・TEXT 作成で、文字幅係数の自動計算を追加しました。
 基準になる文字高さが正確ではないので、結局 CAD 上での変更が必要です。
 文字幅係数の参考値としては使えそうです。
 ※ COM 経由の 1 TEXT ごとの作成なので、かなり遅いです。
 ※ CAD、CAD のバージョンによって、動かない可能性があります。

 DXF ファイルでの一括挿入(文字幅係数 0.8 固定)ボタンは残しています。

Re: delphi CADOCR  izawa - 2026/02/02(Mon) 19:33 No.6663

>※ CAD、CAD のバージョンによって、動かない可能性があります。
IJCAD だと、最後に REGEN が必要でしたね。明日にでも修正します。

Re: delphi CADOCR  izawa - 2026/02/02(Mon) 20:19 No.6664

修正しました。-> Ver.1.01
・TEXT 作成で、最後に REGEN を追加。IJCAD 2026 LT でも動きました。

Re: delphi CADOCR  izawa - 2026/02/02(Mon) 21:54 No.6665

全体の文字列幅はそのままで、文字高さだけを変更するコマンドを追加しましょうか。

Re: delphi CADOCR  izawa - 2026/02/04(Wed) 09:10 No.6667

画像のモノクロ(二値)化、何か効果があるのかも・・・と、追加してみましたが、
何の効果もありませんでした。
それだけ、SnippingTool が超優秀(内部ですべてやっている)ということでしょうね。
何かに使えそうなので、残しています。

汎用性がありそうなので、TEXT の幅は「ほぼ」そのままで文字高さを変更 LISP をアップロードしました。
http://www.izawa-web.com/lsp/txhup.lsp

Re: delphi CADOCR  izawa - 2026/02/04(Wed) 17:41 No.6668

LISP コマンドを追加しました。
・TXHUP : TEXT の幅は「ほぼ」そのままで文字高さを変更
・TXGRID : 点在する TEXT から罫線を作成(ほぼ、同じ文字高さであること)
      項目名の左側に余分な罫線が作成されるため、手動で修正する必要がある
      文字基点、位置はそのままのため、TXGG コマンドで位置を整列する必要がある
・TXGG  : TEXT を格子内の左、中、右に整列(TEXT の基点は変更される)(btrimvx232c 収納分と同じ)


Re: Delphi-SnippingToolOCR  izawa - 2026/01/30(Fri) 13:52 No.6654

>Delphi からだと、DLL に渡す画像がうまく伝わらないようです。

ちょっとしたことだったようです。
成功しました。今日は良い日です。
http://www.izawa-web.com/image/delphi-OCR.png

Re: Delphi-SnippingToolOCR  izawa - 2026/01/30(Fri) 14:24 No.6655

救ってくれたのは、この一行。これ↓だけです。
System.Math.SetExceptionMask(System.Math.exAllArithmeticExceptions);

Re: Delphi-SnippingToolOCR  izawa - 2026/01/31(Sat) 16:26 No.6656

とりあえず、検証用のソースコードをアップロードしました。
http://www.izawa-web.com/zip/DelphiSnippingToolOCR.zip

exe は Win64\Release フォルダにあります。
exe と同じフォルダに下記 DLL が必要です。
※ 使用しているのは、Delphi 10.4。対象画像は、bmp, png のみです。

気が向けば、CADOCR に組み込む予定です。
文字コードの関係で CAD に挿入すると?で表示される文字があるときの注意喚起を追加予定です。
それ以上の機能アップは無いので、消極的です。

以下、Windows 11 の SnippingTool.exe のフォルダからコピーしてください。
 SnippingTool.exe と同じフォルダ内の 3 つのファイル
 ・oneocr.dll
 ・oneocr.onemodel
 ・onnxruntime.dll
 を DelphiSnippingToolOCR\Win64\Releaseフォルダ(正確には DelphiSnippingToolOCR.exe と同じフォルダ)にコピーしてください。
 こちらの環境での SnippingTool.exe のインストールフォルダは
 C:\Program Files\WindowsApps\Microsoft.ScreenSketch_11.2506.25.0_x64__8wekyb3d8bbwe\SnippingTool でした。

Re: Delphi-SnippingToolOCR  izawa - 2026/01/31(Sat) 16:54 No.6657

成功すれば、こんな感じになります。
http://www.izawa-web.com/image/DelphiSnippingToolOCR.png

Re: Delphi-SnippingToolOCR  izawa - 2026/01/31(Sat) 19:00 No.6658

>それ以上の機能アップは無いので、消極的です。
考えているのは、文字幅の再現ですが・・・。

現状 文字幅係数 0.8 固定の text を DXF ファイルで挿入。←爆速
これを、entmake で幅係数 1.0 の text を作成に変更。
textbox を取得 -> 幅係数を計算して修正・・・。
使用しているフォントによって計算通りには行かなさそう。
・・・で、試していませんが、違和感のない速さなら採用ですね。


Delphi OpenCV 4.XX  izawa - 2026/01/28(Wed) 21:07 No.6651

試す元気はありませんが、2.4 しか使えないと思っていた Delphi で
OpenCV 4.xx が使えそうなのはうれしいことです。

https://github.com/Laex/Delphi-OpenCV
https://github.com/gidesa/ocvWrapper46

Re: Delphi OpenCV 4.XX  izawa - 2026/01/28(Wed) 21:13 No.6652

Delphi にも NetGet が欲しいよね・・・と思っていたら、
こんなの↓を見つけました。NetGet とは違うようですが・・・。

https://github.com/corneliusdavid/AutoGetIt

Re: Delphi OpenCV 4.XX  izawa - 2026/01/28(Wed) 21:24 No.6653

exe 本体がありました。
https://github.com/corneliusdavid/AutoGetIt/releases

説明はこちら↓
https://docwiki.embarcadero.com/Support/ja/GetIt%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%92%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%99%E3%82%8B%E3%80%8CAutoGetIt%E3%80%8D


IJRUN  izawa - 2026/01/23(Fri) 11:22 No.6645

〜2023 用 を IJCAD 2025 で動かしてみると、マウス[Enter] が動きますね。
ダイナミック入力 [F12] オフが必要ですが。
IJCAD に乗り換えようかと思案中・・・です。

http://izawa-web.com/IJ_RUN/ij_run2.html

Re: IJRUN  izawa - 2026/01/23(Fri) 15:18 No.6646

>IJCAD に乗り換えようかと思案中・・・です。
1 か月単位のライセンス購入ができるようなので、こちらの使い方としてはピッタリです。
しかも事務室と作業場、同時で無ければライセンス移行の手間はあるけれど
2 台の PC で使用出来るようです。
いいですね。次の仕事が来た時に、購入することにします。

Re: IJRUN  izawa - 2026/01/23(Fri) 15:23 No.6647

新しい PC を購入したのですが、BricsCAD のライセンス移行が出来ない(制限回数オーバーとか)のですよね。

Re: IJRUN  izawa - 2026/01/23(Fri) 17:49 No.6648

>ライセンス移行が出来ない(制限回数オーバーとか)
これは、IJCAD も同じようですね。↓
|※メンテナンス・サブスクリプションに未加入の場合、ライセンスリカバリーサービスを受けることはできません。

Re: IJRUN  izawa - 2026/01/26(Mon) 15:54 No.6649

新しい PC で IJCAD 体験版を試していますが、描画領域のギラツキが気になりますね。
PC (AMD) 固有の問題なのかは不明ですが、拡大表示の時は気なりませんが、
全体を表示させると白色、黄色など輝度の高い色が強調されて、ストレスになります。

他の CAD 、Viewer だとソフトな表示なので、何かが違うようです。
メインの PC では、まったく気にしたことはないので、PC 側の問題かも知れません。

Re: IJRUN  izawa - 2026/01/27(Tue) 22:26 No.6650

サポートからは、背景色をグレーぎみにしてみてください。との回答がありました。
慣れるしかないようで、気にしないようにします。


画面の切り取り保存  izawa - 2026/01/21(Wed) 09:42 No.6641

SnippingToolで切り取った後に、これ(SnipSavingTool.dat)を実行(ダブルクリック)すると、
同じフォルダにファイルが作成されます。
SnippingToolに限らず、クリップボードの画像を適当な名前で保存するツールのようです。
いいですね。

https://qiita.com/MKoishi/items/3a7a983f4af083f3f722

Re: 画面の切り取り保存  izawa - 2026/01/21(Wed) 21:52 No.6644

SnippingTool の切り取り画像ですが、何もしなくても、
普通に、ピクチャフォルダの Screenshots フォルダに保存されていますね。
右上の[・・・]ボタンをクリックすると、メニューに
「スクリーンショットフォルダーを開く」があります。
「設定」でオフにもできますね。


Delphi-SnippingToolOCR  izawa - 2026/01/15(Thu) 17:04 No.6633

Delphi だけで OCR -> 座標の取り出しまで出来ました。
Copilot に助けてもらいながらですが・・・。
ソースコードは整理できたら公開しようと思っています。

機能アップしたわけではないので、
今のところ CADOCR.exe の更新は考えていません。

Re: Delphi-SnippingToolOCR  izawa - 2026/01/15(Thu) 17:17 No.6634

>Copilot に助けてもらいながらですが・・・。
「Copilot さん」ですね、呼び捨ては大変失礼でした。

Re: Delphi-SnippingToolOCR  izawa - 2026/01/15(Thu) 18:29 No.6635

たたき台の画像です↓文字列を囲う 4 座標が取得できています。
http://www.izawa-web.com/image/delphiOCR.png

Re: Delphi-SnippingToolOCR  izawa - 2026/01/17(Sat) 20:52 No.6636

実用はまだまだですが、角度も合っていますね。
http://www.izawa-web.com/image/delphiOCR2.png

Re: Delphi-SnippingToolOCR  izawa - 2026/01/20(Tue) 10:36 No.6639

Delphi からだと、DLL に渡す画像がうまく伝わらないようです。
実用は、無理っぽい。
C# だと何の問題もないので、何かが違うのでしょうね。
C++ では、OpenCV の画像をそのまま渡しているようです。

Re: Delphi-SnippingToolOCR  izawa - 2026/01/20(Tue) 16:09 No.6640

>C++ では、OpenCV の画像をそのまま渡しているようです。
では、Delphi-OpenCV 2.4 ではどうなのか?とやってみましたが、
Windows 11 では、OpenCV 2.4 自体が満足に動きませんね。

Re: Delphi-SnippingToolOCR  izawa - 2026/01/21(Wed) 09:55 No.6642

よく分からないけど、Python ですね。
https://pypi.org/project/oneocr/

返ってくる text は、こちら↓
{'text': '(Press CTRL+C to quit)', 'text_angle': 0.06437717378139496, 'lines': [{'text': '(Press CTRL+C to quit)', 'bounding_rect': {'x1': 13.0, 'y1': 38.0, 'x2': 458.0, 'y2': 38.0, 'x3': 458.0, 'y3': 77.0, 'x4': 13.0, 'y4': 76.0}, 'words': [{'text': '(Press', 'bounding_rect': {'x1': 14.353108406066895, 'y1': 39.69878387451172, 'x2': 140.3456573486328, 'y2': 41.31085205078125, 'x3': 139.93304443359375, 'y3': 73.41635131835938, 'x4': 13.778392791748047, 'y4': 74.0859375}, 'confidence': 0.9870722889900208}, {'text': 'CTRL+C', 'bounding_rect': {'x1': 155.53341674804688, 'y1': 41.37630844116211, 'x2': 273.66094970703125, 'y2': 41.40755081176758, 'x3': 273.42254638671875, 'y3': 74.35794830322266, 'x4': 155.1415557861328, 'y4': 73.46490478515625}, 'confidence': 0.9822005033493042}, {'text': 'to', 'bounding_rect': {'x1': 298.973388671875, 'y1': 41.21086502075195, 'x2': 334.41058349609375, 'y2': 40.91863250732422, 'x3': 334.25103759765625, 'y3': 75.33767700195312, 'x4': 298.7672424316406, 'y4': 74.74362182617188}, 'confidence': 0.9981738328933716}, {'text': 'quit)', 'bounding_rect': {'x1': 357.4715881347656, 'y1': 40.60407257080078, 'x2': 459.0, 'y2': 38.89320755004883, 'x3': 459.0, 'y3': 78.0, 'x4': 357.3414306640625, 'y4': 75.82363891601562}, 'confidence': 0.9932758808135986}]}]}
ちゃんと、座標と回転角度、忠実度が入っていますね。

これを Delphi でやってみようという試みなんですけどね。

Re: Delphi-SnippingToolOCR  izawa - 2026/01/21(Wed) 20:11 No.6643

>よく分からないけど、Python ですね。
とりあえず、よく分からないけど Python 3.12 で試してみました。
3.14 はダメっぽい。
確かに、Python 3.12 数行のコードだけで使えました。←感動ものです。
座標情報が取れる、取れないは SnippingTool のバージョンによるのかも知れません。


BMP2DXF:ラスベク変換補助ツール  izawa - 2026/01/13(Tue) 12:37 No.6631

更新しました。(基本的なところの変更はありません)
・WinTopo 「4. CAD へ挿入」で WinTopo の終了を試みるを追加
・WinTopo のメニュー操作が(失敗しないための対策ではなく)失敗した時の対策を追加
http://izawa-web.com/PIC2CAD/bmp2cad.html

Re: BMP2DXF:ラスベク変換補助ツール  izawa - 2026/01/13(Tue) 12:41 No.6632

終了を試みる->終了しないことがある。
失敗した時の対策->失敗することが多々ある
・・・ということです。

Re: BMP2DXF:ラスベク変換補助ツール  izawa - 2026/01/19(Mon) 09:01 No.6638

コマンドライン版ラスベク変換 CVRV(シェアウェア)に対応しました。
直線化は大胆できれいです。曲線も大胆な直線に変換されます。
※CVRV 試用中は、ラスベク変換後の挿入位置が、元画像の高さの 1/4 ずれます。


廉価なラスベク変換ソフト  izawa - 2026/01/18(Sun) 16:14 No.6637

見つけました。直線化が良い感じです。WinTopo より好きです。
試用中は画像の下部 1/4 ほどが表示、変換されないようです。
コマンドライン版があるのも魅力。

GUI 版
『RasterToVector』 Ver.2.5
- raster/vector converter - shareware(3,800yen)

コマンドライン版
『コマンドラインVector⇔Raster変換』 Ver.5.4
- command-line vector/raster converter - shareware(6,800yen)

https://lnsoft.net/graphicconverter.htm#rastertovector


Re: コマンドライン OCR  izawa - 2026/01/13(Tue) 08:48 No.6628

数年前に Delphi で Tesseract OCR を試した結果がこちら↓
http://www.izawa-web.com/delphiOCR.html

CAD 画面上の部分ごとの OCR でも、期待通りの結果にならなかったと記憶しています。

Re: コマンドライン OCR  izawa - 2026/01/13(Tue) 09:02 No.6629

Copilot からの感想↓
|Tesseract は「文字を読む」けど、SnippingTool は「画像の中のテキストを理解する」
|というレベルの違いがある。
|Tesseract は 2006 年のアーキテクチャをベースに進化してきた古参。
|SnippingTool は 2020 年代の Vision モデル。
|どれだけ条件を整えても、根本的な性能差が埋まらない。
・・・のだそうです。

Re: コマンドライン OCR  izawa - 2026/01/13(Tue) 09:30 No.6630

試しに、CAD 上の文章っぽい文字列を 45 度傾けた画像を OCR。
CADOCR (SnippingToolOCR) の日本語は完璧。±0.1 度の誤差で回転角度も合っています。
Tesseract は、まったくダメ。やはり事務文書に向いているようです。


| 1 | 2 | 3 |