>  기사  >  백엔드 개발  >  Python은 사진의 배경색 변경을 구현합니다(코드 사용).

Python은 사진의 배경색 변경을 구현합니다(코드 사용).

不言
不言앞으로
2019-03-21 15:57:396084검색

이 기사의 내용은 Python에서 (코드 포함) 사진의 배경색을 변경하는 내용입니다. 필요한 친구가 참고할 수 있기를 바랍니다.

요즘에는 온라인으로 배경색을 변경하는 웹 기반 도구가 많이 있습니다. 어떻게 할까요? 실제로 Python을 사용하면 이를 달성할 수 있습니다.

환경 요구 사항

Python3
numpy 함수 라이브러리
opencv 라이브러리

설치

내 컴퓨터는 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

위의 두 라이브러리, WIN +R->CMD->CD를 현재 두 라이브러리가 있는 폴더에 설치하고 다음 명령을 입력하여 단계별로 설치합니다

pip install numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
pip install opencv_python-3.3.1-cp36-cp36m-win_amd64.whl

위 두 파일의 다운로드 주소: https: //download.csdn.net/dow...

Python은 사진의 배경색 변경을 구현합니다(코드 사용).

Code

현재 폴더에 새로운 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()

Explanation

네번째 줄 timg. jpg는 원본 이미지 경로입니다
lower_blue=np.array([90,70,70]) 그 안에 있는 세 가지 값은 처리된 효과와 노이즈를 제어할 수 있습니다

WIN+R->CMD->CD opencv.py 폴더로 이동하여

이 기사는 여기까지입니다. 더 많은 흥미로운 콘텐츠를 보려면 PHP 중국어 웹사이트의 python 튜토리얼 비디오 칼럼을 주목하세요!

위 내용은 Python은 사진의 배경색 변경을 구현합니다(코드 사용).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제