全焦点画像生成


焦点が異なる複数の画像を用いて全焦点画像を生成し、結果を保存するサンプルコードです。

import pyfie

# PyFIE 関数が返すエラーコードに応じて例外を発生させる機能を有効化
pyfie.ctrl.enable_f_err_exception(True)

# 入力画像ファイル
img_fnames = [
    "fie_allinfocus_circuit_board_src_01.png",
    "fie_allinfocus_circuit_board_src_02.png",
]

# 入力画像読み込み
himgs = [pyfie.imread(img_fname) for img_fname in img_fnames]

# 全焦点画像生成
hdst = pyfie.img_uc8(himgs[0].width, himgs[0].height, himgs[0].ch)
pyfie.allinfocus(himgs, hdst, None, pyfie.F_ALLINFOCUS_LOG, 2.0, 0.0)

# 結果画像保存
pyfie.imwrite("allinfocus.png", hdst)

処理結果例

入力画像1(奥で合焦)

../../_images/fie_allinfocus_circuit_board_src_01.png

入力画像2(手前で合焦)

../../_images/fie_allinfocus_circuit_board_src_02.png

出力画像(すべての位置で合焦)

../../_images/allinfocus.png

ダウンロード