Skip to content

SSRend/cv_hw2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[ 프로젝트 소개 ] 이 프로젝트는 OpenCV를 활용하여 이미지를 애니메이션 스타일로 변환하는 필터를 구현한 것입니다. 입력된 사진의 외곽선을 강조하고, 색상을 부드럽게 처리하여 마치 애니메이션 장면처럼 보이도록 합니다.


[ 파일 구조 ] 프로젝트 폴더

파일명 설명
cv_hw2.py 필터 적용 코드
README.md 프로젝트 설명
image_statue.png 원본 이미지 1 (성공한 이미지)
output_statue.png 변환된 이미지 1 (실패한 이미지)
image_wave.png 원본 이미지 2 (성공한 이미지)
output_wave.png 변환된 이미지 2 (실패한 이미지)

[ 실행 방법 ]

  1. OpenCV 및 NumPy 설치 pip install opencv-python numpy

  2. Python 스크립트 실행 python cv_hw2.py


[ 변환 전후 이미지 ] (1) image_statue.png → output_statue.png

원본 이미지 변환 (성공)
image_statue output_statue

(2) image_wave.png → output_wave.png

원본 이미지 변환 (실패)
image_wave output_wave

각 원본 이미지는 애니메이션 스타일로 변환됩니다. 변환 과정에서는 외곽선을 강조하고, 색상을 부드럽게 처리하는 필터가 적용됩니다.


[ 코드 설명 (cv_hw2.py) ]

  1. 파일 목록을 설정하여 여러 개의 이미지를 처리하도록 구성
  2. 이미지 불러오기 및 그레이스케일 변환
  3. Median Blur 적용 (노이즈 제거)
  4. Adaptive Threshold 적용 (외곽선 강조)
  5. Dilation(팽창) 연산으로 외곽선 두껍게 만들기
  6. Bilateral Filter 적용 (색상을 부드럽게 유지)
  7. Sharpening Filter 적용 (이미지를 선명하게 변환)
  8. 색상과 외곽선을 결합하여 최종 변환 이미지 생성
  9. 결과 이미지 저장

[ 기대 효과 ]

  • 원본 이미지보다 선이 더욱 뚜렷하고, 색상이 부드러운 애니메이션 스타일로 변환됩니다.
  • 여러 필터를 조합하여 경계선을 강조하고, 색상을 단순화하는 효과를 얻을 수 있습니다.

[ 자신의 알고리즘의 한계점 ]

세밀한 디테일 보존이 어려움: 외곽선을 강조하면서도 색상을 단순화하기 때문에 작은 디테일이 사라질 수 있음. 일관되지 않은 결과: 이미지에 따라 필터 적용 결과가 다르게 나타날 수 있으며, 특정 이미지에서는 원하지 않는 결과(예: 과도한 경계선 또는 색 번짐)가 나올 수 있음. 연산 속도 문제: Bilateral Filter는 연산량이 많아 고해상도 이미지에서 속도가 느려질 수 있음. 복잡한 배경 처리 어려움: 배경이 복잡한 경우, 원하는 부분만 강조하기 어렵고 경계선이 깨질 수도 있음.

About

컴퓨터비전 2번째 과제입니다

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages