ホームページ >バックエンド開発 >Python チュートリアル >画像のマスク処理のPython実装を詳しく解説

画像のマスク処理のPython実装を詳しく解説

coldplay.xixi
coldplay.xixi転載
2020-09-14 13:13:154748ブラウズ

画像のマスク処理のPython実装を詳しく解説

#関連する学習の推奨事項:

Python チュートリアル

##イメージ マスク (イメージ マスク)

: 選択したものを使用画像、グラフィックス、またはオブジェクトを使用して、処理される画像を (部分的または完全に) ブロックして、画像処理の領域またはプロセスを制御します。覆われた特定の画像またはオブジェクトはマスクと呼ばれるため、画像処理を行う場合、画像をマスクする需要が多くなります。次に、猫と犬の次の写真でそれを説明します。私は子猫のアバターを選択しました。 最初にレンダリングを見てみましょう:


画像のマスク処理のPython実装を詳しく解説
画像のマスク処理のPython実装を詳しく解説
##Python 実装マスク画像画像のマスク処理のPython実装を詳しく解説
##必要なライブラリをインポートします

##マスク画像を作成します

  • 正方形マスク
  • #円形マスク
    • マスクと元の画像が結合されます
    • 表示画像
    • 効果の表示
  • 概要
  • 必要なものをインポートしますライブラリ
  • 今回必要なライブラリ リソースは
  • cv2
  • numpy
で、

pip install xxx

ダウンロードを通じて入手できます。

import cv2
import numpy as np复制代码
マスク画像の作成マスクの作成は画像のサイズに依存します。画像のサイズに応じて独自のマスクを作成します。もちろん、自分でマスクを選択することもできます。今回作成したマスクは正方形マスクと円形マスクです。 正方形マスクマスクの座標は[10:170, 50:220]です。

# 创建掩膜
mask = np.zeros([img.shape[0], img.shape[1]], dtype=np.uint8)
mask[10:170, 50:220] = 255复制代码

円形マスク

マスク座標:

x = 140

y = 100

r = 80

# 创建掩膜
x = 140
y = 100
r = 80
mask = np.zeros(img.shape[:2], dtype=np.uint8)
mask = cv2.circle(mask, (x, y), r, (255, 255, 255), -1)复制代码

マスクと元の画像の結合

画像の結合では、cv2.add を使用してマスクを元の画像と結合し、結合します。

image = cv2.add(img, np.zeros(np.shape(img), dtype=np.uint8), mask=mask)复制代码

表示画像
# 展示原图
cv2.imshow("img", img)
# 展示掩膜图片
cv2.imshow("mask", mask)
# 展示添加掩膜效果图片
cv2.imshow("image", image)复制代码
エフェクト表示

元画像:

## 正方形のマスク画像:

画像のマスク処理のPython実装を詳しく解説

# 正方形のマスクと元の画像を結合した画像:

画像のマスク処理のPython実装を詳しく解説
#円形マスク画像:


画像のマスク処理のPython実装を詳しく解説##円形マスク 画像と元の画像を結合:


概要
画像のマスク処理のPython実装を詳しく解説オクルージョン マスクの原理は非常に単純で、まず、画像と同じサイズの真っ黒な画像を作成します。表示する必要がある領域のピクセルを白に変更し、最後に cv2.add を使用して画像をオーバーレイし、マスクして画像のオクルージョン表示を実現します。

プログラミング学習について詳しく知りたい方は、php training

のコラムに注目してください!
画像のマスク処理のPython実装を詳しく解説

以上が画像のマスク処理のPython実装を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.imで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。