LoginSignup
1
0

More than 1 year has passed since last update.

numpy形式の2つの画像をマージする方法のメモ

Last updated at Posted at 2022-03-08

人生生きていると画像をマージしたいタイミングに出逢うこともあるかと思います。

そういった時はこちらでマージできます。

基本的なnumpyの操作ですが備忘録として残しておきます。

merge_image.py
def merge_image(original: np.ndarray, mask: np.ndarray, thresh: int = 0) -> np.ndarray:
    """画像にマスクをマージする。

    Args:
        original (np.ndarray): cv2.imread()で読み込んだRGB(3channel)画像
        mask (np.ndarray): cv2.imread()で読み込んだグレースケール(1channel)画像
        thresh (int): マスクのしきい値。

    Returns:
        np.ndarray: マージされたRGB(3channel)画像
    """

    ## マスクする部分を初期化
    mask_condition = mask > thresh
    for i in range(3):
        original[mask_condition, i] = 0

    ## マスクを加える(必要に応じて色を変更してください。)
    original[:, :, 0] += mask
    original[:, :, 1] += mask
    # original[:, :, 2] += mask
    return original
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0