投稿

次は、超簡単DVD Playerプログラム。 車載用のDVDを時々作成するんだが、再生できるか確認したくても、いつもどのソフトでDVD が再生できたか、忘れて探し回るはめになっている。 再生できるかどうか確認するためだけの、超簡単DVD Playerの作成に、チャレンジしてみた。 作成できるかどうかの問い合わせを含めて、5回のやりとりで、 自分の求める超簡単DVD Playerができた。 まあ、自分のパソコンはDVDドライブが K:ドライブなので、それに対応できるようにするために、5回もやりとりしたんだがw (何でK:ドライブになってるかなんて、完全に忘れてるw) 興味がある方は、 Pythonをダウンロードしてインストール VS Codeをダウンロードしてインストール メモ帳で、 install python-vlc.bat などのファイル名で、 pip install python-vlc pause の内容のバッチファイルを作成して、実行 VS Codeで DVDPlayer002.py などのファイル名で、次のコードのプログラムを作成して、動作させてみてください。 import tkinter as tk from tkinter import ttk import ctypes import vlc # ========================================== # DVD Player # ========================================== class DVDPlayer :     def __init__ ( self , root ):         self . root = root         self . root .title( "DVD Player" )         self . root .geometry( "900x600" )         self . root .configure( bg = "black" )      ...
Data-to-Dataの比較検査プログラム(Windows版)は、試用結果待ち。 Data-to-Photoの比較検査プログラム(Mac版)は、忙しさの明け待ち。 Data-to-Photoの比較検査プログラムは、カメラ固定方法の物色。 ということでプログラミングの空きが発生したので、ChatGPTで簡易Playerソフトの開発をしてみた。 まずは練習で、MP3 Player。 1発でただ単に再生ができるコードを提示してくれた。 それを改善しようとして、ドツボに入ってく・・・ まず、コードをコピーしても余計な文字が入り、そのままでは動作しない。 指摘すると、改善したというが、ほとんど改善されていない。 最初のコードでいいや、としたんだが、今度は内臓SSDやHDDの中にMP3ファイルが無い。 愕然としてしまったが、よく考えれば、車載用のCDを作成していたころの13年以上前から後はMP3ファイルを扱った記憶が無い。 カーナビでDVD再生をしだしてから、DVDしか車載してなかったよ。 WebからMP3ファイルをダウンロードしたら、再生できた。 まあ、使わないんだけどね。 興味がある方は、 Pythonをダウンロードしてインストール VS Codeをダウンロードしてインストール メモ帳で、 install pygame.bat などのファイル名で、 pip install pygame pause の内容のバッチファイルを作成して、実行 VS Codeで MP3Player001.py などのファイル名で、次のコードのプログラムを作成して、動作させてみてください。 import tkinter as tk from tkinter import filedialog import pygame , os pygame . mixer . init () root = tk . Tk () root . title ( "MP3 Player" ) root . geometry ( "500x300" ) files = [] index = 0 playing = False def add_files ():     global files     f = filedialog . ask...
Data-to-Photoの比較検査プログラム、IMX-298はUSB2.0で、YUY2では1FPSなので、何とかUSB3.0のIMX-577で開発したかったんだが、買ってるものに、時々画像がずれたり、何分の1かに変な色が入ったり、最近のAIならばこれをカバーして改善してくれるかと思ってかなりの期間粘ったんだが、結局不具合撮影の除外処理がきちんとできず、断念した。 IMX-298にしたくなかった理由は、検査ボックスにつけ外ししながらの開発はめんどくさい、Data-to-Photoの開発が進むともう1台のIMX-298カメラを買わなければならないけど遅いIMX298にこれ以上お金をかけたくない、という邪な考えだったので・・・ IMX298で開発すると決めたら、IMX298は3年前に基本的な所はテストしまくっており、2年半のブランクがあるとはいえ、何をして良くて何をしたらいけないかがきちんと把握できているので、10日程度で使えそうなレベルのプログラムにできた。 Windows版しか予定していないし。 (細かな見た目修正は、会社での動作検証をしつつ、行っていくよ) Data-to-Dataの比較検査プログラムがしっかり出来上がっているのも大きい。 マッチングはORBでは能力不足がわかっているが、AKAZEよりも比較動作を早くできないかと、BRISKを選択してみている。 AKAZEよりも、かなりマッチング作業が速いので、何とか使えてほしいものだな。 シルバーウイーク前にプログラムが出来上がったので、シルバーウイーク中は机から1m程度上方に、カメラを如何にして安価に揺れないように固定するかを検討するよ! 物色物欲物色w
 Windows用のFullHDの2画面対応版を、ちょびっと見た目を直して作成。 まあ、元々FullHD用に作成してたので、前のプログラムの設定を見ながら、ちょこっと戻すだけ。 VSCodeで、Compare  で比較表示してみようとしたんだけど、わかりにくくてなかなかできない。 調べてなんとかできたのだけど、もっとわかりやすく比較画面に入れないのだろうか。 Mac用の移植版をClaudeとやり取りして作成。 3年前に、Macが無いとMac版が作成できないとのことで、古い中古のMacbookの購入を検討したことがあったけど、今ではMacを持ってなくても作成できるなんて・・・ 実行権限を付与したファイルも作成してZipで提供してくれるので、Macで解凍してから使用すると実行可能! iMacの2024年型にインストールしてみた。 Windows版よりも若干の制限があって、.commadで開いたターミナルを自動で閉じられず、プログラム起動中は開いたまま。 プログラム画面の陰に隠せば特に問題ないので、これ以上の手はかけたくない。 だけど、Ghostscriptを何故かインストールできず、本当に必要なEPSファイルを開けない。 管理者でインストールしているのに、管理者でインストールしていないと言われ、インストールできない。 なんでやねん。 それ以外は、特に問題なく動作してる。 ボタンの色が白黒になってしまっているが、ただそれだけ。 Ghostscriptを管理者でなくてもインストールする方法を調べたんだが、仕事が忙しくなって、作業をする時間が無くなったよ!!!
 前回更新から3日しか経ってないけど、いろいろあった。 会社で運用するパソコンは第7世代i5Windows10で比較判定に5秒弱、動作チェックしてるパソコンは予備機になった第4世代i5Windows10パソコンなんだが比較判定に8秒近い時間がかかるので、Data-と-Dataの比較検査ならAKAZEからORBに変えてもいいのでは?と思いORBに手作業で変更したんだが、どうも画像2のEPS読み込みで、「画像読み込みエラー」が出るようになった。 画像読み込み部分を触った記憶もないんだが・・・ 別のフォルダにプログラムだけコピーすると「画像読み込みエラー」が出ない??? error.logにエラー内容が残ってない。 AIに判定してもらってもプログラムには問題無いといわれる。 いろいろ調べたところ、 単なる「エラー」は何のエラーかわからないのでログを残す処理をしたが、「画像読み込みエラー」は何のエラーかわかるので、ログを残す処理をしていなかった。 同じ内容を保存したCドライブ、ネットワークハードディスク、USBメモリのエクスプローラー窓を開き、修正・移動・コピー等をしていたため、間違ってネットワークハードディスク内のプログラムを修正し、動作チェックしたときにネットワークハードディスクの画像を画像2として開き、画像2用のフォルダ情報として記憶した。CドライブとUSBメモリにフォルダ全体をコピーしたのでフォルダ情報もコピーされた。 ネットワークハードディスクには、Pythonフォルダ全体を日本語フォルダ2階層の下に保管していた。 GhostScriptには、日本語を含む長いパスに対する読み込みの問題がある。 これで、画像2のEPS画像を読み込む時だけ「画像読み込みエラー」が出る環境の出来上がり~。 いつ「画像読み込みエラー」が出るかわからない状況は、ダメダメです。 改善対策として、「画像読み込みエラー」もログを記録し、EPS画像はtmpファイルとして読み込んでからGhostScriptに渡す、ことで解決! 比較検査も、第4世代i5で、8秒から1秒に短縮!!! サンプルデータは20MP程度にデータ量を増量してテストしているので、実使用では2~3秒だったからORBに変更したら一瞬になりそう。 月曜日に入れ替えして、ORB版を使ってみてもらうよ。 なんちゃってプログラマーが作...
 Data to Data の比較検査タイプ、やっと本日、実作業での動作チェック段階に移行できた。 使ってみてもらうよ。 まあ、いろいろ苦しんだねえ。 文字やボタンを大きくして、見やすく誰でも使いやすくしたのは良かったんだけど、FHDモニター用に開発してたのに、使ってもらうパソコンはサブモニターにDVI-D接続しかできず、余ってるモニターで直結できるのはSXGAのみで、SXGA用を先行して作成したり。 サブモニターに起動表示できずAIに頼ったが何回質問しても改善できず、結局自分で調べて同じ最大解像度のモニター2台に限定する改善方法をAIに提案して、やっと改善できたり。 AKAZEが鏡像は一致画像としてしまうので、鏡像は一致画像にしないように修正した上で、読み込んだ画像を「鏡像」ボタンを押して正像に戻した後、比較検査するようにしたり。 (製造トラブルが無ければ鏡像機能は予定してなかったんだが・・・急遽実装・・・) OpenCVが5に上がってAKAZEが削除されていることを知らずに、会社のパソコンでエラーが出まくる原因調査と対策に1週間ほどかかったり。 モニター2台で見比べられるので輪郭線の表示はしないつもりだったけど、ミスをやらかされそうな嫌な予感がして輪郭線を表示する仕様に変更したり。 比較検査の基本的な所がしっかりできてたので、苦しんだという割にはかなり短時間で改善できたかな。 血圧を下げる薬をやめてだいぶ経ち、プログラミングしやすい体調にかなり戻ったのも大きいね。 完全に戻ったと思えないのは、実は年齢による劣化なのか? あと2か月ちょっとで64。 プログラミングしてる人って、何歳ぐらいまでしてるんだろう?
 くじらハンドさんに、タブ名に線が入る問題を報告してたら、修正してくれて、線が入らなくなった。 タブ形式だと、画面の切り替えが一瞬ででき、切り替えが早くてうれしい。 Data to Data の比較タイプで、 ・TABモデルで、画面切り替えが高速。 ・判定精度の3種・3段階選択に対応。(正確重ね、誤判定排除、薄色対応) ・メモリ上で作業し、高速動作。 ・png、jpg、TIFF、EPS、等の各種Data画像に対応。 それなりの速度で動作するようにできた。 使ってもらいたいPCはi5-7500のWin10で、会社で動作チェックや使い勝手の確認をする許可を7月中旬にもらったんだが、仕事が忙しくなってできなくなり、盆が来てしまった。 盆明けも忙しい予定で、ずるずるとズレていく・・・ カメラ、 IMX298モジュール(USB2.0)、IMX577 AFモジュール(USB3.0)、IMX179 AFモジュール(USB3.0)をアルミハウジングに入れ、有効利用できるか、確認準備。 後方カバーの穴と、USBコードの位置が合わないので、100均の金切鋸でゴリゴリ。 AFタイプは、AFを外すのは無理そう。 IMX577を再チャレンジしてみた。 3年前は、YUY2の撮影で、何故か3分割した画像がたびたび撮影されて使い物にならなかった。 今回は、AIが賢くなっていて、MJPEGで撮影位置合わせして、YUY2で検査用の撮影が可能になる目途が立った。 YUY2では巨大なデータになるので、転送速度が足りなくなっていたらしい。 4000x3000dotなので用途が限られるが、USB3.0で安定してくれたのはありがたい。 Data to Photo の比較タイプで、使えそうなら使う予定。 IMX179は、セット位置の検知に使えたらいいな。 IMX298モジュールは、M12レンズを外すことを前提に8MPの3.6~10mmの可変焦点レンズを用意していたんだが、可変焦点レンズはこういう用途には向かなさそうで、どうするか思案中。