{"id":18023003,"url":"https://github.com/kanryu/luminor","last_synced_at":"2025-10-10T15:47:18.427Z","repository":{"id":140593472,"uuid":"115249797","full_name":"kanryu/luminor","owner":"kanryu","description":"A simple and fast library that changes the brightness, contrast, and gamma value of on-memory images in real time generated with Halide","archived":false,"fork":false,"pushed_at":"2018-01-26T16:07:50.000Z","size":13963,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-22T17:13:28.450Z","etag":null,"topics":["brightness","contrast","gamma","halide","image-processing"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kanryu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-24T08:25:55.000Z","updated_at":"2020-08-31T15:56:25.000Z","dependencies_parsed_at":"2023-05-03T19:47:41.633Z","dependency_job_id":null,"html_url":"https://github.com/kanryu/luminor","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanryu%2Fluminor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanryu%2Fluminor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanryu%2Fluminor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanryu%2Fluminor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kanryu","download_url":"https://codeload.github.com/kanryu/luminor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245753858,"owners_count":20666823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brightness","contrast","gamma","halide","image-processing"],"created_at":"2024-10-30T07:06:38.411Z","updated_at":"2025-10-10T15:47:13.373Z","avatar_url":"https://github.com/kanryu.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Luminor\n=============\n\nA simple and fast library that changes the brightness, contrast, and gamma value of on-memory images in real time generated with [Halide](https://github.com/halide/Halide) language.\n\nSummary\n-------\n\n- Simple C/C++ language API\n- Optimized processing automatically generated with Halide language\n    - The processing is completed in approximately 100 of the time of the normal implementation.\n        - Measured with i7-2600@3.4 GHz (built by gcc-7.2.0 CFLAGS=-O3)\n        - 100 times without LUT, 2.9 times with LUT\n        - e.g. https://github.com/FFmpeg/FFmpeg/blob/master/libavfilter/vf_eq.c\n- It consists of C/C++ header file and static library\n\nThis is a part of [QuickViewer](https://github.com/kanryu/quickviewer).\n\nBinary Releases\n---------------\nhttps://github.com/kanryu/luminor/releases\n\n\nAPI\n---\n\nint luminor(struct halide_buffer_t *_input_buffer, float _brightness, float _contrast, float _gamma, struct halide_buffer_t *_output_buffer)\n\n- _input_buffer\n    - input bitmap of rgb24 or gray8\n    - gray8 should be initialized as 3D Buffer(width, height, 1)\n- _brightness\n    - Add the value to each pixel\n    - default: 0.0, min: -128.0, max: 127.0\n- _contrast\n    - Multiply each pixel by the value(the base value is 0.5(128))\n    - default: 1.0, min: 0.01, max: 10.0\n- _gamma\n    - Change the gamma value of each pixel\n    - It gets brighter when it gets bigger, it gets darker when it gets smaller\n    - default: 1.0, min: 0.01, max: 10.0\n- _output_buffer\n    - output bitmap, the same pixel format as _input_buffer\n\nint luminor_rgba(struct halide_buffer_t *_input_buffer, float _brightness, float _contrast, float _gamma, struct halide_buffer_t *_output_buffer)\n\n- _input_buffer\n    - input bitmap of rgba32\n    - alpha byte must be at 4th byte of each pixel\n    - need to call Buffer::make_interleaved() to prepare buffers\n\n\nHow to use\n------------\n\nOnly to include **luminor.h**, **HalideBuffer.h**  and link **luminor.a**, the API will work.\n\nDetails to see https://github.com/kanryu/quickviewer/blob/master/luminor/qluminor.cpp\n\n\nHow to build\n------------\n\nYou have to get [Halide](https://github.com/halide/Halide).\nIf you just build the library binary version of Halide is enough.\nHowever, if you want to check the operation of the sample program, also download Halide source code.\n\nAnd,\n\n    $ make\n\nFiles\n-----\n\n- images/\n    - test images\n- msvc/\n    - Makefile for nmake\n- msvc_sln/\n    - solution/project for Visual Studio 2015\n- py/\n    - for Python3 and python_bindings for Halide language\n- luminor_gen.cpp\n    - library generator for luminor(), luminor_rgba()\n- samplemain.cpp\n    - sample program for luminor/luninor_rgba\n    - currently luminor_rgba is not supported\n\nLicense\n-------\nMIT\n\nAuthor\n------\n\nCopyright (c) 2017, KATO Kanryu(k.kanryu@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanryu%2Fluminor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkanryu%2Fluminor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanryu%2Fluminor/lists"}