Python detailEnhanceFilter (세부 강화 필터)를 이용한 가루 (카스미) 제거

배경



촬영한 사진 등이 의도하지 않게 흐려지는 경우가 있습니다. 그러므로, 서리 화상에 대하여 화상 처리를 이용하여 서리를 제거하고자 하는 요구가 있다.

실제로 아래의 사이트를 보면 Adobe의 제품에도 서리 제거 기능이 있습니다.
사이트 : htps : // bgs. 아도베. 코 m / 자 판 / ㄱ 아도베 s와 ck 곤 t 리부토 r j 쿠 r 봉-ぃght 로오 m 호 w-와 - 2 /

이번에는 Python과 OpenCV를 사용하여 간단한 녹말 제거 방법을 소개합니다.

detailEnhanceFilter



이번에는 OpenCV의 Non-Photorealistic Rendering에 구현 된 detailEnhanceFilter를 사용합니다.

도서관에 대한 자세한 내용은 아래 사이트에서 확인하십시오.
htps : // / cs. 오펜 cv. 오 rg/마s r/df/다 c/g 브로우 p__p HTML

구현



image_processing.py
from PIL import Image
import numpy as np
import cv2

def main():
    img = np.array(Image.open('images/input.jpg'))
    dst = cv2.detailEnhance(img, sigma_s=10, sigma_r=0.15)
    Image.fromarray(dst).save('images/result.jpg')

if __name__ == '__main__':
    main()

실행 결과



입력은 방금 소개한 사이트의 이미지를 빌렸습니다.
사이트 : htps : // bgs. 아도베. 코 m / 자 판 / ㄱ 아도베 s와 ck 곤 t 리부토 r j 쿠 r 봉-ぃght 로오 m 호 w-와 - 2 /

입력 이미지





출력 이미지





Adobe 님의 서리 제거





소감



수상하지 않니...
상세 강화 필터라는 이름대로 엣지가 강화되고 있는 것을 알 수 있습니다!
그러나 엣지 주변 화소가 하얀 인상이 있네요.
그냥 한 줄의 함수로이 변환 능력! OpenCV는 훌륭합니다.
이번에는 detailEnhance 필터만의 효과를 시험하고 싶었기 때문에 전처리는 일절하고 있지 않습니다.
전처리를 늘리면 더 좋아지는 인상입니다.
파라미터도 조정되지 않습니다.
흥미가 있는 분은 꼭 시험해 주세요.
마지막으로 라이브러리 버전은 다음과 같습니다.

도서관





버전


파이썬
3.7.6

opencv-python
4.1.2.30

numpy
1.18.1

pillow
7.0.0

좋은 웹페이지 즐겨찾기