画処理おじさんの徒然日記

画処理おじさんの徒然日記

画像処理や一眼レフカメラに関して書きます。試したことの備忘録的に。

SnapBridge からの卒業

こんばんは。

お題の通り、今回はニコン製カメラで撮った写真をスマホへ転送する際のお話になります。

最終的には ImageMagick を使ったよ!ってオチです。

SnapBridge によるスマホへの転送

一眼レフで撮影した写真ですが、スマホで見るのはもちろん、家族で共有したり、SNS での投稿に利用したいものですよね。

私の場合、そう言った様々な理由から、撮影した写真を一旦スマホに転送し、 Google フォトへアップロードしています。

今までは、Nikon 謹製の SnapBridge というスマホアプリを使っていました。

www.nikon-image.com

やり方としては、撮影後にスマホで SnapBridge を起動し、アプリで選択した写真をスマホに転送していました。

また、その際、以下の理由からアプリの設定で2MBサイズに縮小を選択していました。

  • スマホのストレージ使用量を抑えるため
  • FINEで撮影(6000x4000画素)しているので転送に時間がかかる
  • ブログ用に縮小したい(はてなブログ投稿時に、FINEサイズだとアップロードできなかった)

なんですが、このアプリがなかなか、どうして…。使い勝手が悪く、イライラさせるのです…。

SnapBridge、もう止めたい

理由はわからないのですが、突然 BlueTooth の接続が切れてしまい、やり直しを強いられます。

一度ならまだしも、2度3度と繰り返されるのはザラ。しかも、100枚くらい選択したあとで途中で接続が切れると写真の選択からやり直しに…。もうね、気が滅入る訳ですよ。😱

ということで、別の手段を取ることを検討しました。

Let's プログラミング

一旦、写真をPCに取り込んで、そこから画像を縮小することにしました。SDを抜き差しする手間はかかりますが、SnapBridge にはもう我慢の限界だったので。😤

私は趣味でプログラミングしているので、一括縮小なんて余裕だろうとたかをくくっていましたが…。

OpenCVの検討

最初は得意のC++でプログラムを組んでみました!OpenCVというライブラリを使えば縮小処理なんて、ねぇ。

で、実行して気づいた衝撃の事実が…。

縮小処理後にJPG保存すると、シャッタースピード、絞り値、ISO、焦点距離などの撮影情報が保存されないことに気づきました。

どうする?😱やっぱ、残したいよな…。

ImageMagick の検討

結果的には、こっちになりました。割と古くからある画像処理ソフトです。なんと言っても、その魅力はコマンドラインで処理ができるってことです。

imagemagick.org

試しに、縮小処理後に保存してみる、な、な、なんと!撮影情報が残っているじゃないですか!

ということで、ImageMagick を使うことにしました。😍

私が ubuntu で使ったコマンドは、一括変換の mogrify になります。 たったの1行で済んだ😳 下記に私が使ったスクリプトを参考までに。 (ご使用は自己責任でお願いします)

#!/bin/sh

echo "start..."
mogrify -resize 27% -quality 100 *.JPG
echo "done!"

ちょっと解説

  • 縮小率を 27% としたのは、SnapBridge の2MB サイズに設定した場合のサイズになります。
  • 具体的には、6000x4000 から 1620x1080 への変換になります。
  • quality は、jpg の品質になりますが、これは 100% としました。
  • 上記の書き方だと、上書き保存されるため、オリジナルは別途保存してある前提になります。

ImageMagick についての参考サイト

imagemagick.biz

www.atmarkit.co.jp

最後に

SDをパソコンに差し替える手間は増えますが、なんと言っても、その確実性がキモです!

SnapBridge には我慢の限界だったし。これで晴れての卒業です!

最初は OpenCV でコネコネしてしまいましたが、結局は ImageMagick を使って1行のコマンドで一括処理!

皆様のご参考になれたらと思います。

ではでは😎