본문 바로가기

Library

(16)
고성능 신경망 Super-Resolution Image library - libsrcnn 소개 libsrcnn 은? libsrcnn 은 POSIX 를 포함한 Windows 에서도 DLL 로 사용이 가능 하도록 제공되는 오픈소스 라이브러리로서, Super-Resolution Imaging 을 OpenCV 와 같은 별도의 라이브러리를 사용하지 않고도 쓸 수 있도록 설계되고 만들어진 신경망이 적용된 고성능 엔진 입니다. 초창기는 ShuWang 의 오픈소스로 부터 시작하여, OpenCV 에서 발생하는 여러 낮은 성능과, Multi-thread 를 이용하지 못하는 단점등을 모두 보완한 프로젝트로서, 현존 이미지 복호처리 중 가장 띄어난 결과를 보여 주는 알고리즘이라 하겠습니다. 본 라이브러리는 ShuWang 의 오픈소스로 부터 기반을 하여 GCC, LLVM, CLANG 등으로 POSIX 에서 문제 없이 구..
FLTK 용 이미지 처리 라이브러리, fl_imgtk 업데이트. FLTK 용 이미지 처리 라이브러리인 fl_imgtk 의 새로운 업데이트를 GitHub 에 갱신 하였습니다. 별거 아닐 수 있긴 하지만, 뭔가 WPF 따위 안쓰고, QT 보다 매우 가볍고, 그렇다고 GTK+ 같은걸 도 안써도 되는 여러 조건에서 저에게 가장 적합한 것은 FLTK 뿐 이더군요. 하지만 너무 가볍게 만든 GUI 엔진이다 보니 그래픽 처리 부분은 거의 없다 싶이 하여, 만들게 된 것이 바로 fl_imgtk 입니다. M$VC 쓰는 분들이 FLTK 를 쓰는 경우가 거의 없다는 가정 하에, (사실 FLTK 를 쓰는 가장 큰 이유는 동일 소스로 Windows, Linux, Mac 에서 동일한 프로그램을 만들기 위한 목적) Windows 의 경우는 MinGW-W64 로 빌드 할 경우 가장 효과적인 성능..
FLTK 이미지 툴킷, fl_imgtk 공개 그간 다른용도로(?) 쓰기 위해 만들어 오던 FLTK 용 이미지 처리 엔진의 일부인 fl_imgtk 를 공개 하였습니다. 소스는 github 에서 받으실 수 있으며, 누구나 제한없이 사용 가능한 MIT License 를 적용하고 있습니다. (물론 원래 소스들에 대해서는 각자 따로 기재 해야 하는 제한이 있을 수 있습니다) https://github.com/rageworx/fl_imgtk 소스코드는 gcc 나 llvm-gcc, 아니면 MinGW-W64 만 make 로 빌드 할 수 있도록 지원 합니다만, 별도로 프로젝트 파일을 만들어서 M$VC 등에서도 사용은 가능하나, 아마 FLTK 를 M$VC 에서는 쓰지 않을것으로 보입니다. QT 를 M$VC 에서 개발하지 않는 것처럼요. fl_imgtk 가 현재 지원..
DirectX/Dsound 용 mp3 to wave 디코더, MinGW용 소스 & 라이브러리 * 기존 v2 소스에 버그가 있어서 업데이트 되었습니다. 현재 v3, 큰 파일을 모두 디코딩 가능. 이 소스는 MinGW (gcc) 에서 DirectX sound (Dsound) 를 사용할 때, MP3 를 음원으로 사용할 경우 유용하게 쓸 수 있는 라이브러리 입니다. 원래 소스는 ffmpeg 에 있는 것을 사용한 상태 이며, 원본 소스가 C 용으로 만들어 져 있었기 때문에 변경 없이 쓰도록 만든 상태 입니다. ( libmp3wav 라이브러리 소스는 g++ 로 컴파일 불가 ) 사용 가능한 컴파일러 제한: i686-posix-dwarf-rev3, Built by MinGW-W64 project) 4.9.2 mp3towave 만 사용할 경우, libmp3wave.a 와 mp3wave.h 파일 압축 C++ 에서..
리눅스에서 RaspberryPi 를 위한 ffmpeg 라이브러리 빌드 하기. 라즈베리파이(이하 RPI) 에서도 ffmpeg 을 쓰는데 뭔가 성능이 안나온다는 친구의 말을 듣고 일단 ffmpeg 을 RPI 개발 환경에서 빌드 할 수 있도록 간단히 꾸며 보았습니다. 단, 이 방법은 이미 다른 cross-platform 을 쓰고 있는 상태에서 빌드 하는 환경을 만들기 위해 단순히 ffmpeg 빌드를 위해 몇가지 스크립트를 추가해서 사용하는 방법을 설명 하고 있습니다. 먼저 RPI 빌드 툴을 받아야 하므로 아래처럼 했습니다. (이미 있으신 분들은 skip) 먼저 개인적으로 모든 소스를 밀어 넣는 Project 밑에 raspberrypi 디렉터리를 하나 만들었습니다. github 에서 RPI toolkit 을 clone 하여 tools 로 디렉터리가 만들어 지도록 합니다. 이로서 RPI ..
Tiny DICOM 라이브러리 소개 지금 소개 하는 이 라이브러리는 제 gitHub 에 공개된 저장소의 소스코드 입니다. 의료용 으로 사용중인 DICOM tag 를 읽고 쓸 수 있도록 만든 작고 가벼운 라이브러리로서 저장소 복제를 통해 새로운 버젼을 만들어 개선을 하거나 용도에 맞게 변경이 가능합니다. 소스코드는 현재 Windows용 gcc 인 MinGW 와 Code::Blocks 에 맞춰져 있는 상태 입니다만 Linux (Embedded 포함) 이나 다른 platfrom 에 사용이 가능합니다. gitHub 는 버젼관리 도구로서 HG 를 사용 하고 있으나, 그냥 소스코드를 받기 위해서 ZIP 으로 압축 후 받을 수 있는 기능을 기본으로 지원 해 주고 있으므로 간단한 소개로 ZIP 다운로드를 통한 빌드를 소개 하고자 합니다. 소스 다운로드 ..
EnCypher tool (AES256, BASE64) C++ library w/ Sample. EnCypher 라고 이름은 거창 하긴 합니다만, 단지 AES-256 과 BASE-64 를 이용하는 Front-end c++ class library 에 막 가져다 붙인 이름 입니다. 용도는 AES-256 으로 암호화 한 정보를 다시 BASE-64 로 인코딩 한 문자열을 만들거나, 반대로 처리 하는걸 만들수 있습니다. 사용하려는 C++ 코드 위에 #inlcude "endetool.h" 를 추가 해 준 다음, EnDeTool class 를 할당해서 쓰면 됩니다. 여러 기능을 제공하고 있는데 주된 기능은 다음과 같습니다.문자열을 AES-256 과 BASE-64 로 암호화 또는 복호화 단순 데이터를 AES-256 으로 암호화 또는 복호화 아래의 소스코드는 바이너리 데이터를 암호/복호화 하는 것만 들어 있긴 합..
FLTK 1.3.x 를 위한 smooth image scaler: fl_smimg FLTK 1.3.x 버젼을 쓰면서 부족한 부분이 있다면 바로 Fl_Image 의 copy() 함수를 통한 scale 기능이라 하겠습니다. 실제 내부에서 이 scale 엔진은 GraphicDriver의 resize 를 호출 하는데 이 부분은 실제 nearest resize 가 수행 되므로 뭔가 부드럽게 연산이 처리된 형태의 이미지를 얻을수가 없게 됩니다. 이를 해결하기 위해 만든 것이 fl_smimg 이며, 이 소슨는 FreeImage Library 3 의 resize 부분을 추출 해서 FLTK 에 맞게 변경 하였으며, 그 적용은 아래 처럼 됩니다. 이미지는 인터넷에 도는 것을 임의로 사용하였는 상태 입니다. (우주선 이미지는 Mass Effect 의 Normandy 호 입니다 ) 먼저 Fl_Window ..