2022년 3월 18일

자바 환경에서 OpenCV 를 이용한 이미지 필터 구현하기

OpenCV 관련하여 많은 자료들이 Python 기준으로 되어 있어 자바에서 사용하는 부분에는 어려움이 있었다.

 ◼︎ 작업환경

  • Model : MacBook Pro (16-inch, 2019)
  • CPU : 2.3 GHz 8코어 Intel Core i9
  • GPU : AMD Radeon Pro 5500M 4 GB
  • MENORY : 16GB
  • DISK : 1TB SSD
  • OS : macOS Monterey 12.2.1
◼︎ 테스트 서버 
  • DEVICE : Oracle Cloud VM (Free)
  • OS : CentOS Linux release 7.9.2009 (Core) 
  • JAVA : OpenJDK 64-Bit Server VM 21.9 (build 17.0.1+12, mixed mode, sharing)
  • OpenCV : 4.5.5

프로그램은 간단하게 웹 브라우저에서 이미지를 업로드하면 서버(Tomcat) 는  요청하는 이미지 효과를 수행하고 결과 이미지를 리턴하는 방식이다. 


❶ 이미지가 업로드 되었다고 가정하고 이미지 아이디와 원하는 필터를 지정하여 요청한다.


❷ 이미지가 효과 서비스를 호출하여 이미지를 변환화고 변환된 이미지를 리턴한다.




다음은 비교적 큰 사이즈의 이미지(6.7MB)를 여러 필터로 변환하는 예시이다. 변환 테스트는 라스베리파이 4 와 오라클 클라우드 무료 VM 환경에서 진행해 보았는데 라스베리파이는 CPU 파워 부족 오라클 클라우드 VM 은 메모리 부족을 체감하였다.  

참고자료

  1. Creating Instagram like Filters With Opencv!
  2. Cartoon Effect on Image using Python and OpenCV

댓글 없음:

댓글 쓰기