mirror of
https://github.com/publiclab/image-sequencer.git
synced 2025-12-16 13:20:01 +01:00
Add: Exposure Module (#721)
* exposure module * requested changes * update module
This commit is contained in:
committed by
Jeffrey Warren
parent
b8beec96be
commit
e5cf6a311f
22917
dist/image-sequencer.js
vendored
22917
dist/image-sequencer.js
vendored
File diff suppressed because one or more lines are too long
@@ -18,6 +18,7 @@ module.exports = {
|
|||||||
'draw-rectangle': require('./modules/DrawRectangle'),
|
'draw-rectangle': require('./modules/DrawRectangle'),
|
||||||
'dynamic': require('./modules/Dynamic'),
|
'dynamic': require('./modules/Dynamic'),
|
||||||
'edge-detect': require('./modules/EdgeDetect'),
|
'edge-detect': require('./modules/EdgeDetect'),
|
||||||
|
'exposure': require('./modules/Exposure'),
|
||||||
'flip-image': require('./modules/FlipImage'),
|
'flip-image': require('./modules/FlipImage'),
|
||||||
'fisheye-gl': require('./modules/FisheyeGl'),
|
'fisheye-gl': require('./modules/FisheyeGl'),
|
||||||
'histogram': require('./modules/Histogram'),
|
'histogram': require('./modules/Histogram'),
|
||||||
|
|||||||
50
src/modules/Exposure/Module.js
Normal file
50
src/modules/Exposure/Module.js
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
* Changes the Image Exposure
|
||||||
|
*/
|
||||||
|
|
||||||
|
module.exports = function Exposure(options,UI){
|
||||||
|
|
||||||
|
var defaults = require('./../../util/getDefaults.js')(require('./info.json'));
|
||||||
|
var output;
|
||||||
|
|
||||||
|
function draw(input,callback,progressObj){
|
||||||
|
|
||||||
|
options.exposure = options.exposure || defaults.exposure
|
||||||
|
var exposure = Math.pow(2, options.exposure);
|
||||||
|
progressObj.stop(true);
|
||||||
|
progressObj.overrideFlag = true;
|
||||||
|
|
||||||
|
var step = this;
|
||||||
|
|
||||||
|
function changePixel(r, g, b, a){
|
||||||
|
|
||||||
|
r = Math.min(255, r*exposure)
|
||||||
|
g = Math.min(255, g*exposure)
|
||||||
|
b = Math.min(255, b*exposure)
|
||||||
|
return [r, g, b, a]
|
||||||
|
}
|
||||||
|
|
||||||
|
function output(image,datauri,mimetype){
|
||||||
|
|
||||||
|
// This output is accessible by Image Sequencer
|
||||||
|
step.output = {src:datauri,format:mimetype};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return require('../_nomodule/PixelManipulation.js')(input, {
|
||||||
|
output: output,
|
||||||
|
changePixel: changePixel,
|
||||||
|
format: input.format,
|
||||||
|
image: options.image,
|
||||||
|
inBrowser: options.inBrowser,
|
||||||
|
callback: callback
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
options: options,
|
||||||
|
draw: draw,
|
||||||
|
output: output,
|
||||||
|
UI: UI
|
||||||
|
}
|
||||||
|
}
|
||||||
4
src/modules/Exposure/index.js
Normal file
4
src/modules/Exposure/index.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
module.exports = [
|
||||||
|
require('./Module'),
|
||||||
|
require('./info.json')
|
||||||
|
]
|
||||||
15
src/modules/Exposure/info.json
Normal file
15
src/modules/Exposure/info.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"name": "Exposure",
|
||||||
|
"description": "Change the exposure of the image by given exposure value",
|
||||||
|
"inputs": {
|
||||||
|
"exposure": {
|
||||||
|
"type": "float",
|
||||||
|
"desc": "exposure value for the new image",
|
||||||
|
"default": 1,
|
||||||
|
"min": -3,
|
||||||
|
"max": 4,
|
||||||
|
"step": 0.05
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user