Python+OpenCV 3 단계 로 워 터 마크 제거
2889 단어 PythonOpenCV워 터 마크 를 제거 하 다
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 방법 을 사용 하여 소음 마스크 를 매개 변수 로 하여 그림 을 추리 하고 복원 합 니 다.
2.추리 절차
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)
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)
효과 도워 터 마크 안 가기 전:
간 후:
파 이 썬+OpenCV 를 이용 하여 3 단계 로 워 터 마크 를 제거 하 는 글 을 소개 합 니 다.더 많은 파 이 썬+OpenCV 와 관련 된 워 터 마크 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.