この記事の内容は、Pythonで写真の背景色を変更する実装(コード付き)ですので、一定の参考価値はありますが、困っている友人の参考になれば幸いです。役に立ちました。役に立ちました。
現在、オンラインで背景色を変更するための Web ベースのツールがたくさんありますが、これはどのように行うのでしょうか?実際、これは Python を使用して実現できます。
環境要件
Python3
numpy 関数ライブラリ
opencv ライブラリ
適切なバージョンの numpy 関数ライブラリを自分のコンピュータにダウンロードします。 WIN10 64 ビットです。インストールされている関数ライブラリは
numpy-1.13.1 mkl-cp36-cp36m-win_amd64.whl
適切なバージョンの numpy 関数ライブラリをダウンロードします。私のコンピュータは WIN10 64 です。ビット、インストールされた関数 ライブラリは
opencv_python-3.3.1-cp36-cp36m-win_amd64.whl
上記 2 つのライブラリ、WIN R->CMD->CD を次のフォルダーにインストールします。現在の 2 つのライブラリが見つかります。次のコマンドを入力して段階的にインストールします。
pip install numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl pip install opencv_python-3.3.1-cp36-cp36m-win_amd64.whl
上記 2 つのファイルのダウンロード アドレス: https://download.csdn.net/dow...
コード
現在のフォルダーに新しい opencv.py を作成し、次のコードをコピーします
import cv2 import numpy as np img=cv2.imread('timg.jpg') #缩放 rows,cols,channels = img.shape img=cv2.resize(img,None,fx=0.5,fy=0.5) rows,cols,channels = img.shape cv2.imshow('img',img) #转换hsv hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV) lower_blue=np.array([90,70,70]) upper_blue=np.array([110,255,255]) mask = cv2.inRange(hsv, lower_blue, upper_blue) cv2.imshow('Mask', mask) #腐蚀膨胀 erode=cv2.erode(mask,None,iterations=1) cv2.imshow('erode',erode) dilate=cv2.dilate(erode,None,iterations=1) cv2.imshow('dilate',dilate) #遍历替换 for i in range(rows): for j in range(cols): if dilate[i,j]==255: img[i,j]=(0,0,255)#此处替换颜色,为BGR通道 cv2.imshow('res',img) cv2.waitKey(0) cv2.destroyAllWindows()
説明
timg.jpg の 4 行目は、元の画像パスの 3 つの値
lower_blue=np.array([90,70,70]) で処理された効果を制御できますとノイズ
WIN R->CMD->CD to opencv.py フォルダーに移動し、実行します
この記事はすべてここにあります。その他の興味深いコンテンツについては、 PHP 中国語 Web サイトの Python チュートリアル ビデオ コラム!
以上がPython は写真の背景色の変更を実装します (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。