[Gambas-user] Color Range

Benoit Minisini benoit.minisini at gambas-basic.org
Wed Jul 26 11:01:32 CEST 2023


Le 26/07/2023 à 10:53, Claus Dietrich a écrit :
> Am 25.07.23 um 21:33 schrieb Benoit Minisini:
>>
>> If you know the algorithm associated with the the image filter you 
>> need, you can try to implement it by accessing the image RGBA data 
>> directly, and use the FAST keyword to let the gcc compiler transform 
>> your Gambas code into a faster version.
>>
>> As I understand the dialog box, you need to be able to define a 
>> function that takes a color intensity between 0 and 255 and that 
>> returns the new value, and apply that functino to a color channel.
>>
>> Please confirm my interpretation!
>>
>> Regards,
>>
>> -- 
>> Benoît Minisini.
> 
> Hi Benoit
> 
> This sounds correct but image processing is not my domain. All I found 
> is an automatic algorithm written for Gimp in the language "LUA" 
> (Chapter 7.1 Contrast Stretching). The before/after comparison shows 
> what it can do:
> 
> https://pippin.gimp.org/image-processing/chapter-automaticadjustments.html
> 
> It might well be that this particular LUA algorithm is actually doing 
> what the Gambas "Equalize" function provides. As this provides rather 
> unpredictable results, it might already help if the min/max values were 
> adjustable (as option) and not being determined automatically. However, 
> programs like Gimp and good scanner programs also care about the medium 
> shades.
> 
> The basics of "color curves" (my second requirement) are described here: 
> https://www.gimp.org/tutorials/Basic_Color_Curves/
> 
> What would be the right approach to realize a color shade mapping for 
> red, green and blue individually with (FAST) Gambas?
> 
> Regards
> 
> Claus
> 

I don't understand: do you want -automatic- or -manual- processing?

If you want manual processing, I can add a function that applies a 
"curve" to the image components (red, green, blue, alpha, value...) but 
I won't make a GUI for defining the curve like the GIMP has. It's up to you.

Regards,

-- 
Benoît Minisini.



More information about the User mailing list