Connexion

Récupérer mon mot de passe

Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités

Aucun

Le record du nombre d'utilisateurs en ligne est de 21 le Jeu 17 Oct 2013, 13:40
Derniers sujets
Flux RSS



Flag Counter
Partenaires

[bat] Filtre Niveau de gris

Voir le sujet précédent Voir le sujet suivant Aller en bas

[bat] Filtre Niveau de gris

Message par Sachadee le Sam 02 Nov 2013, 11:02

Voici le filtre niveau de gris qui vous transforme les couleurs d'une image décompacté par PNG2HEX.EXE, en niveau de gris.

Il suffit de l'éxecuter, dans le même répertoire où vous avez traitée préalablement votre image avec PNG2HEXA,pour avoir au final le fichier
sortie.png en niveau de gris.


Ce filtre fait d'abord une transformation Hexa->R G B
et ensuite applique le traitement sur les valeurs R G B et retransforme en HEXA pour pouvoir être reconstruit par Hex2PNG.exe



Exemple :



après traitement devient






Niv_Gris.bat

Code:
@echo off&cls
setlocal enabledelayedexpansion
set $c=0
:::HEX TO RGB
for /f "delims=" %%a in (testpixel.txt) do (if !$c! equ 0 echo %%a;FILTRE Niv_gris-SachaDee>RGB2HEX.txt
                                           if !$c! neq 0 (cls
                                                           Echo NIV_GRIS Traitement Pixel No : !$c!
                                                           set $t=%%a
                                                           set /a R=0x!$t:~0,2!
                                                           set /a G=0x!$t:~2,2!
                                                           set /a B=0x!$t:~4,2!
                                                           set $t=!R! !G! !B!
   call:tr
   call:tr1
                                                           )
                                           set /a $c+=1)

:::ON RCONSTRUIT L'IMAGE

HEX2PNG.EXE RGB2HEX.txt

goto:eof

:tr
set $liste=
set $tot=0
for %%b in (!$t!) do (set /a $tot=%%b+!$tot!)
set /a $tot=!$tot!/3
set $t=!$tot! !$tot! !$tot!
goto:eof



:tr1
set $Hextot=
for %%b in (!$t!) do (call:HEX %%b
                     set $hextot=!$hextot!!hex_return:~-2!)
echo !$hextot!FF>>RGB2HEX.txt
goto:eof


::::::::://CREDIT DARKBATCHER//:::::::::

:HEX
SET CNombreDec=%1
SET HEX_RETURN=
FOR %%B IN (4096, 256, 16, 1) DO (
SET /a CQuad=!CNombreDec!/%%B
SET /a CNombreDec=!CnombreDec!%%%%B
SET i=10
FOR %%C IN (A B C D E F) DO (
IF "!i!"=="!CQuad!" (
SET Cquad=%%C
)
SET /a i+=1
)
SET HEX_RETURN=!HEX_RETURN!!CQuad!
)
:: on retourne le résultat
GOTO:EOF

::::::::://CREDIT DARKBATCHER//:::::::::
On peut jouer très facilement sur l'intensité du gris, si vous voulez une image plus clair il vous suffit d'augmenter la valeur de "$tot"
dans le label ":tr" de cette manière :


Code:
set /a $tot=(!$tot!/3)+20
Et si vous voulez une image plus foncé le contraire :



Code:
set /a $tot=(!$tot!/3)-20
Le calcul que j'ai aplliqué ici est très simple (R + G + B / 3) est en retour nous avons la valeur du gris.

http://fr.wikipedia.org/wiki/Niveau_de_gris


Dernière édition par Sachadee le Dim 03 Nov 2013, 15:51, édité 2 fois

_________________
@SachaDee
avatar
Sachadee
Admin
Admin

Mensagens : 591
Data de inscrição : 04/06/2013

http://bbat.forumeiro.com

Revenir en haut Aller en bas

Re: [bat] Filtre Niveau de gris

Message par Dylan Gadacha le Dim 03 Nov 2013, 07:14

AMAZING !

_________________
avatar
Dylan Gadacha
EQUIPE BBAT
EQUIPE BBAT

Mensagens : 106
Data de inscrição : 24/10/2013
Idade : 18

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum