😄

[備忘録]Zoom仮想背景画像をサルベージした[自分でアップロードしたもののみ]

に公開

こんにちは、よもぎたです。今日は実現できて個人的に嬉しかったことを書きます。

経緯

  1. Zoomを使い始めた時に自分で仮想背景画像を作ったのですが、そのファイルが行方不明になってしまいました。
  2. 世の中、ZoomだけじゃなくTeamsとかGoogle meetもあります。それでも同じ仮想背景を使いたい!と思いました。
  3. そこで、Geminiさんに聞いたらZoomアプリがローカルに仮想背景画像を保管しているというので、サルベージを試みて、何とか成功しました。

なお、Windows+WSL環境です。Geminiさんは2025年10月に提供されている 2.5 Pro です。

手順の概要

  1. Zoomアプリが仮想背景画像を保存しているフォルダを特定します。この配下のファイルたちは元のファイル名を保っていません。拡張子も付いていません。
  2. 自信があればそのフォルダで作業してよいと思いますが、私は作業用ディレクトリにそのフォルダ配下のファイルをコピーしました。
  3. WSLを起動して作業用ディレクトリに移動します。基本的なコマンドしか使わないので、ディストリビューションは何でも大丈夫だと思います。
  4. file コマンドでざっとファイルたちの情報を教えてもらいます。
  5. ファイルフォーマット(PNGとかJPEGとか)と解像度でアタリを付けます。
  6. あたりを付けたファイルの拡張子を変更してあげればサルベージ完了です。

具体的な手順

Zoomアプリの保存フォルダ特定

これは C:\Users\<UserName>\AppData\Roaming\Zoom\data\VirtualBkgnd_Custom でした。
ネットの海を彷徨いながら手探りでした。
将来は変更になるかもしれません。(言い訳)
このステップが一番の鬼門でした。

ファイルの特定

file コマンドさまさまです。ファイル名が元の姿を保っていなくても、拡張子が無くても、ファイルの情報を教えてくれます。

例えばこんな感じです。

$ file bkimg.jpg
bkimg.jpg: JPEG image data, progressive, precision 8, 1920x1080, components 3

JPEGファイルで、解像度は 1920x1080 だと教えてくれます。
実際は file * して grep につなげていく感じになると思います。

中には、もっといろいろな情報が分かるファイルもありました。

$ file example.jpg
example.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=7, orientation=[*0*], xresolution=98, yresolution=106, resolutionunit=2, software=GIMP 2.6.11, datetime=2012:05:07 13:37:09], baseline, precision 8, 1920x1080, components 3

まあ雑にやるなら、ファイルフォーマットに合った拡張子をつけてやればよいと思います。
たとえばこんな感じですね。

$ file * | grep JPEG | cut -d: -f1 | awk '{printf("cp -fv %s %s.jpg\n",$1,NR)}' | sh

file コマンドさまにファイルの情報を教えてもらい、JPEGファイルだけ grep して、今のファイル名だけを cut で切り出して、最後は定番の awk 先生で実行したいコマンドを生成して sh に渡します。

awk 先生で生成しているコマンドは、元のファイル名から <NR変数=行番号>.jpgcp するものです。

作業用フォルダのコピーなら cp じゃなくて mv でもいいかもしれません。そのあたりはお好みで。

あとは、エクスプローラで…と思いましたが、 code . する方が早かったです。

おわりに

こんな記事を書く必要がないよう、ファイルの整理整頓は普段からきちんとしましょう。

特に自分が作ったファイルは大切に。

最後までお読みいただきありがとうございました。

Discussion