Python 대량 이미지 워 터 마크 제거 방법
2264 단어 Python대량그림.워 터 마크 를 제거 하 다
오늘 은 Python+OpenCV 3 단계 로 워 터 마크 를 제거 하고 워 터 마크 에 사용 할 라 이브 러 리:cv2,numpy.cv2 는 OpenCV 를 기반 으로 한 이미지 처리 라 이브 러 리 로 이미지 에 부식,팽창 등 을 할 수 있다.numpy 는 강력 한 처리 매트릭스 와 차원 연산 라 이브 러 리 입 니 다.
그림 워 터 마크 제거 원리
1.소음 의 특징 을 표시 하고 cv2.inRange 이치 화 표지 소음 으로 그림 을 이치 화 처리 합 니 다.구체 적 인 코드 는 cv2.inRange(img,np.array([200,200,240]),np.array([255,255,255])를 사용 하여[200,200]~[255,255,255]이외 의 색 채 를 0 으로 처리 합 니 다.
2.OpenCV 의 dilate 방법 을 사용 하여 특징의 구역 을 확장 하고 이미지 처리 효 과 를 최적화 합 니 다.
3.inpaint 방법 을 사용 하여 소음 마스크 를 매개 변수 로 하여 그림 을 추리 하고 복원 합 니 다.
오른쪽 하단 의 워 터 마크 제거 절차
1.원본 그림 에서 오른쪽 아래 부분 을 캡 처 하고 새 그림 으로 저장 합 니 다.
2.워 터 마크 식별,색상 값:[200,200,200]~[255,255,255]
3.워 터 마크 를 제거 하고 그림 을 복원 합 니 다.
4.원본 그림,워 터 마크 를 제거 한 새 그림 을 중첩 합 친다.
구현 코드
효과 대비
import cv2
import numpy as np
from PIL import Image
import os
dir = os.getcwd()
path = "1.jpg"
newPath = "new.jpg"
img=cv2.imread(path,1)
hight,width,depth=img.shape[0:3]
#
cropped = img[int(hight*0.8):hight, int(width*0.7):width] # [y0:y1, x0:x1]
cv2.imwrite(newPath, cropped)
imgSY = cv2.imread(newPath,1)
# , [200,200,200]-[250,250,250] 0
thresh = cv2.inRange(imgSY,np.array([200,200,200]),np.array([250,250,250]))
#
kernel = np.ones((3,3),np.uint8)
#
hi_mask = cv2.dilate(thresh,kernel,iterations=10)
specular = cv2.inpaint(imgSY,hi_mask,5,flags=cv2.INPAINT_TELEA)
cv2.imwrite(newPath, specular)
#
imgSY = Image.open(newPath)
img = Image.open(path)
img.paste(imgSY, (int(width*0.7),int(hight*0.8),width,hight))
img.save(newPath)
실현 효 과 는 다음 그림 과 같 습 니 다.이 기본 값 은 흰색 오른쪽 아래 에 있 는 워 터 마크 를 제거 하 는 것 입 니 다.여러분 은 자신의 수요 에 따라 변경 할 수 있 습 니 다.파 이 썬 대량 이미지 워 터 마크 에 대한 예제 코드 에 관 한 글 은 여기까지 입 니 다.파 이 썬 대량 이미지 워 터 마크 에 관 한 예제 코드 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.