投稿

 前回更新から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の可変焦点レンズを用意していたんだが、可変焦点レンズはこういう用途には向かなさそうで、どうするか思案中。
 会社の健康診断で、以前より血圧が高めと指摘されていたのだが、ちょっと高いだけだと放置していたら、3年弱前に左心房肥大と診断された。 病院に通院しだしたのだが、副作用が出て、だんだんプログラミングがしにくくなり、左心房肥大の解消を優先し、プログラム開発を休んでいた。 その間、だんだん副作用が強くなりだして、1時間程度の山登りなどで体を動かすと、数日後に発熱して会社を休む羽目に。 薬を変えても徐々に副作用が強くなり、土日薬を止めて土曜日山登り、月曜から服薬、火曜日に発熱までになりやってられない状態に・・・ 医者に運動と服薬で副作用がひどくなることを訴え続けているにもかかわらず、薬を変えるだけの薬漬け処方にも辟易して、2月に血圧が高めなのは残っているが左心房肥大は解消できていることが確認できたので、5月の初めに通院をやめた。 服薬をやめても1か月ぐらいは頭が働かなくてプログラミング再開できず、6週間ほど前から土日で疲れを癒し、月曜日休んでプログラミングをするようにしだした。 服薬の影響が残っているのと、63歳という年齢での劣化が何とも言えない。 ほぼ2年半休んでいたので、まあかなり忘れてしまっており、リハビリを兼ねてAIに助けてもらって、まずは見た目(GUI)の変更と、ファイルセレクトの学習を、会社の前工程で時々ミスられていらいらする画像データ修正間違い比較確認プログラムを作成することにした。 Data/Data でリハビリし、Cameraを少しずつ思い出しながら Data/Camera 、Camera/Camera の順に比較検査プログラムを作っていくこととする。 AIはGeminiが使いやすくなっているので、Geminiで進めることとした。 GUIは苦手なので、自分が理解できそうなTkEasyGUIを継続。 (私には、Tkinterは理解できないのです・・・) 3年前よりかなり賢く、入力/出力できる文字数も大幅に増えてるじゃない! 短い質問と出力で、自分で組み合わせてプログラムにしようとしていた頃とは雲泥の差! 画面の切り替えができず撮影範囲設定プログラムを別にしたり、設定値を設定してから画面を閉じて比較に入るが設定画面に戻りたくても戻れず最初から、などと四苦八苦していたのに、画面の切り替え方法を提示してくれる!!! Tab機能も使えるんだが、何故かTab名...
 プログラムの話では無いのだが・・・会社パソコンでの話。 今期は、年末年始に仕事が少し余裕があったので、Windows10にサポートが切れる10月を見据え、会社にあるパソコンの、Windows11へのUpdateの可否を把握し、移行の時に使用可能なIPアドレスの空きのチェックを行った。 いまだにWindowsXp機が2台も現役で稼働している職場なんですけどw 以前調査したのは、5年以上前。 その時の記録をエクセルファイルに整理しているので、その時の記録を参照しながら、pingを打ち、応答があるIPアドレス、反応が違うIPアドレス、無応答のIPアドレスなどに、分類チェックし、WebブラウザでネットワークHDDなどの機器をチェック、IPアドレスを持つパソコンを捜してネットワーク設定を確認、一応ネットワーク外のパソコンもチェックする。 パソコンは、CPU、OS、ネットワーク名、使用者などを記録していく。 WindowsXp、Windows2000Server、Windows7、Windows8、Windows10、Windows11、Mac G4、Mac G5、iMac、Faxコピー機、レーザープリンタ、IJプリンタ、ネットワークHDD、いろいろあるねぇ・・・ アップデートしてはいけないものもあるし・・・ その途中で先々週、顕微鏡用のWindows7Pro機が不調という話があったが、チェック中に全く起動しなくなった。 さすがに会社で修理する時間は無いので、許可をもらって家に持ち帰り、カバーを空けてから接続し確認修理開始。 レノボのデスクトップ機を触るのは初めて。カバーを空けているとパソコンに怒られることもなく、よかった。 なぜか起動することができ、一安心。チェックディスクが始まり、2つのファイルが修復され、Windws7Proが起動。ラッキー! USBメモリ経由で、ハードウェアモニターソフトをインストール。 HWMonitorでは、特に異常は見当たらず。 CrystalDiskInfo Shizuku Editionでは、赤の危険表示。 ハードディスクの代替えセクタが無くなり、代替えセクタ以上の代替え待ちが発生している!!! これ以上HDDの内容が壊れないように、すぐにシャットダウンし、3.5インチHDDを外す。 会社に、SSD化したパソコンの500GBがあったは...
イメージ
 11月に入り、悩み、四苦八苦しながら試行錯誤し、テープ細工で簡易検査BOXの改造が完了した(かな?) こんな感じ。 カメラ固定部。 アルミLを加工し、ぐらつきをほとんど無くし、両面テープでプラダンに貼り、天板のダレ下がりを抑制。 ピント調整時の、固定ネジを回すのに難があるが、最悪ネジ固定せずにデモをするか・・・ LED発光部等。 天板下の上段に、反射光が発生しにくい被検査物用で、被検査物によって使い分ける白色LEDと、蛍光LED。 取り外し可能とした中段に、被検査物からの反射光がカメラに入ないように白色LEDを設置。(実物で、開口部の広さを再確認・調整する必要がある。) 下の白デコパネの下中に、写真では見えないが、透過光検査用の白色LEDがある。 デモ用に、被検査物の種類によって使いわけられるようにしたが、本番時は、被検査物の種類毎の専用機にしないと、切り替えが面倒すぎるし、壊れる元になる。 リレーやLEDの電源接続部。 上が5V補助電源が必要な4chUSBリレーモジュール、下が2chUSBリレーモジュール。 写真は、反射光が発生しにくい被検査物用で、2chUSBリレーモジュールでの蛍光LED無しの接続。 デモは、4chUSBリレーモジュールのみの使用で、  第1チャンネル:上段白色LED もしくは 中段白色LED  第2チャンネル:下段透過光用白色LED  第3チャンネル:上段蛍光LED  第4チャンネル:未使用 の接続で、行う予定。 4chと2chは、同じメーカーNo.、同じプロダクトNo.であり、同じ制御コードで動作できるので、プログラムの作成と検証が楽。 簡易検査BOXの改造ができたので、 次は4mmレンズのピント調整を行い、 被検査物の当てセット固定具の作成、 Pythonの検査プログラムの、改造状態に合わせた動作確認・修正作業に進む。 あ、TkEasyGUIのバージョンが1.0.10に上がってる! テーマが修正されたか確認しよう(^▽^)/
 次は10月の話。 4mmCSマウントレンズIMX298カメラを設置して、光の反射防止に対応した検査BOXを改造作成する必要があるが、ほぼ1か月やる気が出ず、全く作業せず。 これではいかんと、10月末ごろに部品の不足を再確認して、不足している部品を購入。 ゆるゆると、検査BOXの改造を再開。 4mmCSマウントレンズIMX298カメラのサイズ限定で、アルミケースの重みに耐え、固定できるものを、アルミL等で両面テープ工作。