그간 다른용도로(?) 쓰기 위해 만들어 오던 FLTK 용 이미지 처리 엔진의 일부인 fl_imgtk 를 공개 하였습니다. 소스는 github 에서 받으실 수 있으며, 누구나 제한없이 사용 가능한 MIT License 를 적용하고 있습니다. (물론 원래 소스들에 대해서는 각자 따로 기재 해야 하는 제한이 있을 수 있습니다)
소스코드는 gcc 나 llvm-gcc, 아니면 MinGW-W64 만 make 로 빌드 할 수 있도록 지원 합니다만, 별도로 프로젝트 파일을 만들어서 M$VC 등에서도 사용은 가능하나, 아마 FLTK 를 M$VC 에서는 쓰지 않을것으로 보입니다. QT 를 M$VC 에서 개발하지 않는 것처럼요.
fl_imgtk 가 현재 지원하는 기능은 아래 tech demo 를 받아서 수행해 보면 간단히 즐기실 수 있습니다.
데모 다운로드
이전 데모가 다른걸 만들다가 대충 붙여서 돌려 본 거라 메모리 누수가 심각한 부분이 있었는 걸 수정 하기도 했으며, AVX 명령어 사용은 물론, OpenMP 를 쓰는 데모라 특정 CPU 에서는 구동이 안될수 있습니다.
지원 기능
- OpenMP 가속 (옵션)
- 이미지 상하/좌우 반전
- 이미지 회전 ( 90, 180, 270 또는 여러 각도 )
- 이미지 밝기, 감마, 채도 변경
- 이미지 부분 잘라 내기
- Fl_Widget 을 Fl_RGB_Image 로 만들기
- Fl_Widget 을 blur 된 Fl_RGB_Image 로 만들기
- Fl_RGB_Image 를 blur 된 Fl_RGB_Image 로 만들기
- Kernel matrix filter 지원
- HDR image ( Drago, Reinhard 알고리즘 두가지 지원 )
- 기타 등등
Open source 로 github 에 등록을 한 이상 지속적인 업데이트를 시간이 날 때 마다 할 예정이며, 투명 채널을 추가 하거나, 여러장의 이미지를 하나로 겹치는 등의 효과도 만들예정 입니다.
혹시라도 FLTK 를 쓰시는 분이 계시다면 부족한 부분을 채울 수 있는 좋은 라이브러리가 되면 좋겠습니다.