2017年7月18日火曜日

Python:マルチページTIFFを読み込んで1ページずつ処理する

PythonでマルチページTIFFを処理する方法。OpenCVでは未対応なようなので、PILを利用する。注意点は、
  • マルチページのページ数は n_frames で取得できる
というところ。ネットのサンプルはEOFエラーまでループを回すとか気持ち悪いことしてるので、n_frames +1 までループを回すのが美しいでしょう。

下記のコードを参照。

2017年5月20日土曜日

PythonでOpenCVを試してみた

ラボの開発言語も徐々にPythonへと移行の気配で、OpenCVもその餌食になりそうです。で、試してみました。

OpenCVのバージョンの確認
現在、OpenCVはバージョン3になっていますが、パッケージ名はcv2のままです。まず、自分のPythonの環境でOpenCV3がインストールされているのかを確認しておきましょう。pythonのコンソールにて、下記の2行を打ちこむとバージョンが出力されるはずです。でなかれば環境がおかしいです。
import cv2
cv2.__version__
Out[6]: '3.2.0-dev'  ← これが出力
サンプルを動かしてみる
下記の通りのサンプルを動かしてみましょう。これは、C#版の記事と同じ内容です。見比べてみたらわかりますが、表現が違っていたりします。そのキモですが、、、
  • OpenCVの関数を使うというより、numpyの関数を使っているということが多々ありそう。
ということ。例えば下記の例では、
  • Matのコピー
  • Matのトリミング
は、Matの処理というより、numpyの行列処理のようです。OpenCVの関数については、他の言語(C++,C#)とほぼ同じ感じですが、その切り分け方に注意ですね。