안녕하세요, Davey입니다. 오늘 포스팅할 내용은 opencv로 원하는 이미지에 흐림 효과를 주는 방법에 대해서 설명 드리도록 하겠습니다. 커널의 크기를 지정하여 이미지를 흐리게 하는 것입니다.
opencv를 이용하여 흐림 효과 주기
: 일단 이미지에 흐림효과를 주기 위해서는 이전 포스팅에도 계속적으로 반복하면서 설명 드리는 부분이지만 흐림 효과를 줄 이미지를 불러와야 합니다. 이 부분에 대한 코드와 이진화 하는 코드를 같이 설명 드리도록 하겠습니다.
코드 분석
- cv2.blur(흐림효과를 줄려고 희망하는 이미지, (커널 X 크기, 커널 Y 크기), 앵커 포인트, 픽셀 외삽법)
1) 커널 크기는 이미지에 흐림 효과를 적용할 크기를 설정합니다. 크기가 클수록 더 많이 흐려짐
2) 앵커 포인트는 커널에서의 중심점을 의미합니다. (-1, -1)로 사용할 경우, 자동적으로 커널의 중심점으로 할당
3) 픽셀 외삽법은 이미지를 흐림 효과 처리할 경우, 영역 밖의 픽셀은 추정해서 값을 할당함
[이미지 밖의 픽셀을 외삽하는데 사용되는 테두리 모드입니다. 외삽 방식을 설정]
픽셀 외삽법에 대한 종류는 아래와 같이 정리하였습니다.
픽셀 외삽법 속성 |
의미 |
cv2.BORDER_CONSTANT |
iiiiii | abcdefgh | iiiiiii |
cv2.BORDER_REPLICATE |
aaaaaa | abcdefgh | hhhhhhh |
cv2.BORDER_REFLECT |
fedcba | abcdefgh | hgfedcb |
cv2.BORDER_WRAP |
cdefgh | abcdefgh | abcdefg |
cv2.BORDER_REFLECT_101 |
gfedcb | abcdefgh | gfedcba |
cv2.BORDER_REFLECT101 |
gfedcb | abcdefgh | gfedcba |
cv2.BORDER_DEFAULT |
gfedcb | abcdefgh | gfedcba |
cv2.BORDER_TRANSPARENT |
uvwxyz | abcdefgh | ijklmno |
cv2.BORDER_ISOLATED |
관심 영역 (ROI) 밖은 고려하지 않음 |
#opencv 라이브러리 선언언
import cv2
#원본 이미지 불러오기
test_image = cv2.imread("002.jpg", cv2.IMREAD_COLOR)
#불러온 이미지에 흐림 효과 주기
blur_tr01 = cv2.blur(test_image, (10, 10), anchor=(-1, -1), borderType=cv2.BORDER_DEFAULT)
흐림효과를 준 이미지 출력하기
: 위의 코드를 구현하여 흐림효과를 준 이미지를 출력해보도록 하겠습니다. 원본 값과 비교하기 위해서 원본 이미지도 같이 출력하는 코드를 삽입하도록 하겠습니다. 추가로 출력한 이미지도 첨부하도록 하겠습니다.
#원본 이미지 출력
cv2.imshow("Original Image", test_image)
#흐림 효과 준 이미지 출력
cv2.imshow("blur image", blur_tr01)
cv2.waitKey(0)
cv2.destroyAllWindows()
맺음말
: 이번 포스팅은 opencv 이용하여 불러온 이미지를 흐리게 하는 효과를 주는 방법에 대해서 설명 드렸습니다. 흐림효과를 이용하여 모자이크를 효과를 줄려고 하는 건지에 대해서는 추가적으로 공부해봐야 될 거 같습니다. 그럼 이만 마무리 하도록 하겠습니다. 감사합니다.
제 Posting이 조금이나마 정보 전달에 도움이 되셨길 빌며, 되셨다면, 구독, 댓글, 공감 3종 세트 부탁 드립니다. 감사합니다.
[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁 드립니다. 검토 후 수정 및 삭제 조치 하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]
'파이썬 (Python) > 딥러닝 (Deep Learning)' 카테고리의 다른 글
파이썬 Python Tessaract-OCR 정의 및 사용 방법 (0) | 2021.02.28 |
---|---|
파이썬 Python을 이용한 OCR (optical character recognition) 이용 방법 + Tessaract 설치 방법 (1) | 2021.02.27 |
Python opencv 이용하여 이미지 색상을 반전 시키는 방법 + 색상 역상시키는 방법 (0) | 2021.02.24 |
Python opencv 이용하여 이미지 이진화하는 방법 (0) | 2021.02.24 |
Python opencv 이용하여 이미지 색상 흑백으로 바꾸기 (0) | 2021.02.23 |
댓글