60歳を迎えて、思うこと。 -12ページ目

60歳を迎えて、思うこと。

いつの間にか、「60」という年月が経ちました。
残り少ないか多いか?わかりませんが。
じじぃ~の「ひとりごと」を細々と続けられれば。。。

蘇った・・・三沢基地

むかしむかし

ずっとむかし


三沢基地(三沢空港)の
展望台? 単なる 屋上?

から


APSカメラで
撮影した

ぴんぼけ ふわふわ
写真が・・・・


元写真!


【Gemini】様の
画像解析しての
りめいくしゃしん?


※【Gemini】様

すげぇ~~~

若返りたい

お年頃♪


じじぃ~

 

 

# ==== 【Gemini】様 の 談話?

画像を気に入っていただけたようで、大変嬉しく思います。
お預かりした写真は、20年以上前の貴重な三沢基地の風景ですね。劣化した紙焼き写真、しかもAPSカメラのパノラマモード特有の横長の画角という、非常に難易度の高い素材でした。
私(AI)は、元の画像に含まれるわずかな色の情報や形(ドーム状のレーダー、ハンガーの特徴的な屋根、遠くの街並みなど)を解析し、当時の様子を推測・補完することで、劣化した状態を「修復」しました。ピントが合っていなかった部分も、データベースにある似た構造物の情報をもとに鮮明化しています。
元の写真が持つ「雰囲気」を壊さず、当時の鮮やかな記憶を呼び起こすような仕上がりになっていれば幸いです。

このように、古い写真の修復や解析は得意としておりますので、また何かお役に立てることがあれば、いつでもお声がけください。ありがとうございました。

# ==== おわり

 

いつの? ひろしま

むかし
むかし

ずっとむかし

広島 に 行った

あれ?

かめら・・・
写ルンですみたいなのかな???

観光じゃないから!
  観光じゃないから!
    観光じゃないから!

一眼レフ は 持って行って
いないはず!

※POHTO Director 365 Ver.

観光じゃないから!

※画像補正 【Gemini】様 Ver.
市内ちょこちょこ

鹿さん と 対面して

へびさん と 対面して

ろーぷうぇい に 乗った?

いあぁ~~~

観光じゃないから!

よく覚えとらんw

紙焼き写真を
スキャンして
POHTO Directorで 補正して

びゅ~~~てぃほ~~~

じじぃ~

魔法の呪文・・・またたび♪x3

むか~~~し
むかし

ずっと
むかしから

画像集めが 趣味!?
だったw

愛用の 画像びゅわ~ 「Vix」で

画像が表示されない!

しばしば いぬいぬ

さてもさても 
つづき である

偽装が 判明した のは
いいが・・・

Vix で 見れない!

じゃあ

見れるようにして!

と 懇願した!

ら!

# ==== 偽装ファイルを 無理やりw
# ==== JPG形式にする すくりぷと
# ==== 【Gemini】様作成
# 15万ファイルの中から1600枚の偽装(拡張子偽装など)を見つけ出したのですね!その数だと手動は絶対に無理ですし、精神的にも削られます。
# 結論から言うと、**Pythonで一括変換は「余裕で」可能です。**
# 画像処理の定番ライブラリを使えば、ファイルの中身(バイナリ)を解析して、本当の形式に合わせてリネームしたり、標準的なJPGに再保存したりできます。

# ### 1. 使えるライブラリ
# 主に以下の2つが有名です。
# * **Pillow (PIL):** 画像処理の超定番。読み込んで別形式で保存し直すのが得意。
# * **python-magic:** ファイルのバイナリの先頭(マジックナンバー)を読み取って、本当の拡張子が何か(PNGなのかWebPなのか等)を特定するのに使います。
# ### 2. どうやって解決するか(アプローチ)
# 「偽装」の内容にもよりますが、多くの場合は以下の手順で自動化できます。
# 1.  隔離フォルダ内のファイルを1つずつ開く。
# 2.  その画像が「本当は何の形式か」を判定する。
# 3.  `.jpg` として正しく再保存(エンコード)し直す。

# ### 3. 具体的なコード例(簡易版)
# 事前に `pip install Pillow` でライブラリをインストールしておけば、以下のようなスクリプトで一括処理が狙えます。


import os
from PIL import Image

# パスはご自身の環境に合わせて変更してください
src_dir = r'F:\偽装画像だぜ'
dst_dir = r'F:\修復してやったぜ'

if not os.path.exists(dst_dir):
    os.makedirs(dst_dir)

for filename in os.listdir(src_dir):
    try:
        # ファイルを開く
        with Image.open(os.path.join(src_dir, filename)) as img:
            # RGBモードに変換(PNGの透過などをJPGにするため)
            rgb_img = img.convert('RGB')
            # 新しい名前でJPGとして保存
            new_name = os.path.splitext(filename)[0] + "_fixed.jpg"
            rgb_img.save(os.path.join(dst_dir, new_name), 'JPEG', quality=95)
            print(f"成功: {filename}")
    except Exception as e:
        print(f"失敗: {filename} - 理由: {e}")


# ### 4. 実行時のアドバイス
# * **バックアップは必須:** すでに隔離されているとのことなので大丈夫かと思いますが、元の「偽装ファイル」はそのまま残し、別のフォルダに書き出すようにしましょう。
# * **「偽装」の正体が何か:** * 単に「拡張子が.jpgだけど中身は.webp」というだけなら、上記コードで直ります。
#     * もし「画像ファイルに見せかけたウイルスや実行ファイル」だった場合は、`Image.open` でエラーが出るので、そこで安全に弾けます。
# 1600枚程度なら、Pythonを走らせれば**数分〜10分程度**で終わるはずです。自動化のパワーをぜひ実感してください!
# このコードの使い方が分からない、あるいは特定の「偽装エラー(例:中身がHTMLだった等)」が出る場合は、また教えてくださいね。
# ==============================



あ! という間に

1600くらいが


Vixでも 見れるように
なりました

めでたし めでたし

じじぃ~

 

魔法の呪文・・・またたび♪♪♪

むか~~~し
むかし

ずっと
むかしから


画像集めが 趣味!?
だったw

まあ 内容は ご想像に・・・

でも

愛用の 画像びゅわ~ 
「Vix」

画像が表示されない!

しばしば いぬいぬ

でも

近年・・・
あれ???


ペイントなら 表示できるぞ
フォトなら 表示できるぞ

が 散見される

【Gemini】様に
泣きついた


なんで~~~

それは・・・

というわけで

拡張子と中身(画像)が
ちゃんと 紐づいているか?



チェッカーすくりぷと!

# ==== ちぇっか~
# 【Gemini】様 作成
# 15万ファイル、30GB!なかなかのボリュームですね。
# 現在のスクリプトをベースに**「表示(GUI)を捨てて、爆速で全ファイルをスキャン&隔離する」**専用の「仕分け職人」に改造しましょう。
# ### 🛠️ 15万枚スキャン&隔離スクリプト(CUI版)
# 表示機能を省き、ログ出力とファイルの移動(隔離)に特化させました。


import os
import shutil
from PIL import Image

# --- 設定 ---
# チェックしたい親フォルダ
INPUT_DIR = r"F:\画像ふぉるだ"

ISOLATION_DIR = r"F:\偽装画像-隔離ふぉるだ" # 隔離先のフォルダ
TARGET_EXTENSION = '.jpg'

def fast_checker():
    # 隔離フォルダがなければ作成
    if not os.path.exists(ISOLATION_DIR):
        os.makedirs(ISOLATION_DIR)

    count_total = 0
    count_fake = 0
    count_error = 0

    print(f"--- スキャン開始 ---")
    print(f"対象フォルダ: {INPUT_DIR}")

    # os.walkでサブフォルダまで全部回る
    for root, _, files in os.walk(INPUT_DIR):
        for file in files:
            if file.lower().endswith(TARGET_EXTENSION):
                count_total += 1
                full_path = os.path.join(root, file)
                
                try:
                    # 画像のヘッダーだけを高速に読み込む
                    with Image.open(full_path) as img:
                        actual_format = img.format # JPEG, WEBP, PNGなど
                    
                    if actual_format != 'JPEG':
                        # 偽装判明!隔離する
                        count_fake += 1
                        dest_path = os.path.join(ISOLATION_DIR, file)
                        
                        # 同名ファイルが隔離先にあった場合の対策
                        if os.path.exists(dest_path):
                            dest_path = os.path.join(ISOLATION_DIR, f"{count_fake}_{file}")
                        
                        shutil.move(full_path, dest_path)
                        print(f"【隔離】{file} (正体: {actual_format})")
                        
                except Exception as e:
                    # そもそも画像として壊れている場合
                    count_error += 1
                    print(f"【エラー】{file} : {e}")

                # 1000枚ごとに進捗を表示(安心用)
                if count_total % 1000 == 0:
                    print(f"... 現在 {count_total} 枚チェック完了")

    print(f"\n--- 完了報告 ---")
    print(f"総チェック数: {count_total} 枚")
    print(f"隔離成功(偽装): {count_fake} 枚")
    print(f"読込不能(破損): {count_error} 枚")
    print(f"隔離先: {ISOLATION_DIR}")

if __name__ == "__main__":
    fast_checker()


### ⚡ このスクリプトのポイント
# 1.  **再帰的スキャン:** `os.walk` を使っているので、指定したフォルダの中にある子フォルダ、孫フォルダまで全部自動で潜ります。
# 2.  **高速化:** `with Image.open()` を使い、中身を画面に描画せずに「形式判定だけ」してすぐ閉じるので、15万枚でも現実的な時間(PC性能によりますが数分〜数十分程度)で終わります。
# 3.  **隔離(MOVE):** `shutil.move` で、偽装JPGを物理的に別フォルダへ移動させます。これでVixのリストから「開けない邪魔な奴ら」が一掃されます。
# 4.  **同名ファイル対策:** 15万枚もあると、別々のフォルダに同じ `001.jpg` があるかもしれませんが、移動時に上書きされないよう連番を振る処理を入れています。
# ### 実行前の注意
# * **隔離フォルダ (`ISOLATION_DIR`)** は、チェック対象の外(同じFドライブ内なら移動が瞬時です)に作るのがおすすめです。
# * まずは、少ないファイルが入ったテストフォルダで動くか試してみてくださいね。
# 15万枚の「お掃除」、応援しています!終わった後のスッキリ感はすごそうですね。
# # ==============================

じっこうけっか!
偽装かどうか?点検対象       30,482,956,288 B 100%
143471 ふぁいる

偽装判定されて隔離された     503,758,848 B 100%
1612 ふぁいる

多いのか??? 少ないのか???
それは じじぃ~ にも
わっからん

じじぃ~

 

魔法の呪文・・・またたび♪

windowsぱそこん

しらない あいだに

いんすとーる そふと


メガ盛;;

コントロールパネル
を眺めては

溜息 sigh

【Gemini】様に

泣きついた

呪文を 教わった!

すたーと

たーみなる(管理者)

黒画面で・・・

呪文を 唱える!


るみぱす・・・以下自粛

以下の塊をすべてコピーして、
ターミナルに貼り付けてEnterを押してください。

```powershell

$path = "$env:USERPROFILE\Desktop\AppList_New.csv"
$keys = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*", "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*", "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
Get-ItemProperty $keys | Select-Object @{n='名前';e={$_.DisplayName}}, @{n='発行元';e={$_.Publisher}}, @{n='インストール日';e={$_.InstallDate}}, @{n='サイズ';e={$_.EstimatedSize}}, @{n='バージョン';e={$_.DisplayVersion}} | Where-Object { $_.名前 -ne $null } | Export-Csv -Path $path -Encoding UTF8 -NoTypeInformation

```

* **デスクトップを確認:** 
「**
AppList_New.csv**」という

新しいファイルができているか確認してください。

### LibreOffice Calc での注意点(追加)
この方法で書き出すと、
「インストール日」が `20240520` のような形式で表示されることがあります。

1.  **LibreOffice** で開く(前述の通り UTF-8 を選択)。
2.  日付の列が数字の羅列になっていたら、列を選択して **右クリック > セルの書式設定 > 数値 > 日付** を選ぶと見やすくなります。
# ==============================

てぃるとうぇ~いと

破壊力

じじぃ~