Giter Site home page Giter Site logo

thien94 / image_brighten_ros Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ntnu-arl/image_brighten_ros

0.0 0.0 0.0 6.45 MB

ROS node implementing low light image enhancement.

License: GNU General Public License v3.0

C++ 90.24% Python 3.64% CMake 6.12%

image_brighten_ros's Introduction

Image Brighten ROS

ROS node implementing low light image enhancement. The output image will have the same header as the input image. The node will run at the parameterized rate, always processing the latest image. In the event computation speed cannot keep up with the desired rate, additional images will be dropped.

Build and Run

To build and run an example, enter your catkin workspace and execute the following

cd src
git clone https://github.com/unr-arl/image_brighten_ros
cd ..
catkin build -DCMAKE_BUILD_TYPE=Release
source devel/setup.bash
roslaunch image_brighten image_brighten.launch topic_image_input:=/yourcam/imagetopicname

The node will create a new topic under '[...]/bright'. We provide example ROSBAGs to allow the convenient testing of the method and its performance.

Method Principle

Motivated by the method described in:

Dong, X., Wang, G., Pang, Y., Li, W., Wen, J., Meng, W. and Lu, Y., 2011, July. Fast efficient algorithm for enhancement of low lighting video. In 2011 IEEE International Conference on Multimedia and Expo (pp. 1-6). IEEE.

And as discussed in an associated Mathworks example, this node implements the following steps:

  • Step 1: Invert the input image.
  • Step 2: Apply haze removal to the inverted image.
  • Step 3: Invert the enhanced image.

To speed-up, the method performs rescaling internally. As detailed in the paper and link above, this process is valid as the histogram of pixel-wise inversion of low-light images is very similar to the histogram of hazy images. This in turn implies that we can use haze remove methods to enhance low-light images.

Parameters

The following parameters allow to tune the algorithm to achieve the desired performance and computational load.

  • enable_dyn_reconf : Enables or Disables Dynamic Reconfiguration.
  • topic_image_input : Image topic to which the node subscribes.
  • topic_image_output : Image topic to which the node publishes.
  • enable_dehaze : If disabled, node will publish resized image.
  • max_process_freq : Node will process images at a maximum of this frequency. Images received before the previous image is finished processing will be dropped. Otherwise the node will always take the latest image.
  • scale_factor : Pre Proccessing scale factor, the image resolution will be dropped by this factor before any processing takes place.
  • dark_ch_scale : Scale factor applied before calculating the average dark channel value.
  • transmission_scale : Scale factor applied before calculating transmission image.
  • dehaze_radius : The neighborhood radius to be used to find the dark channel prior.
  • dehaze_omega : See Dark Channel Prior.
  • dehaze_t0 : See Dark Channel Prior.
  • dehaze_r : Guided Filter Neighbor Radius.
  • dehaze_eps : See Guided Filter.
  • dehaze_filter_resize_factor : Resize factor for guided filter. Filter results are applied at the input resolution.

Example ROSBAGs

We provide two example ROSBAGs with dark image data to allow the testing of the method.

Example Output

GPU

GPU Implementation Coming Soon!

Credits

To develop this software package we relied or took inspiration from the implementations in:

References

He, K., Sun, J. and Tang, X., 2012. Guided image filtering. IEEE transactions on pattern analysis and machine intelligence, 35(6), pp.1397-1409.

He, K., Sun, J. and Tang, X., 2010. Single image haze removal using dark channel prior. IEEE transactions on pattern analysis and machine intelligence, 33(12), pp.2341-2353.

Dong, X., Wang, G., Pang, Y., Li, W., Wen, J., Meng, W. and Lu, Y., 2011, July. Fast efficient algorithm for enhancement of low lighting video. In 2011 IEEE International Conference on Multimedia and Expo (pp. 1-6). IEEE.

Contact

You can contact us for any question or remark:

image_brighten_ros's People

Contributors

fmascarich avatar samu24 avatar thien94 avatar tiralonghipol avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.