FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Transformer une image couleur en gris et en négatif Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Transformer une image couleur en gris et en négatif Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Transformer une image couleur en gris et en négatif Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Transformer une image couleur en gris et en négatif Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Transformer une image couleur en gris et en négatif Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Transformer une image couleur en gris et en négatif Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Transformer une image couleur en gris et en négatif Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Transformer une image couleur en gris et en négatif Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Transformer une image couleur en gris et en négatif Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Transformer une image couleur en gris et en négatif Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Transformer une image couleur en gris et en négatif Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Transformer une image couleur en gris et en négatif Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Transformer une image couleur en gris et en négatif Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Transformer une image couleur en gris et en négatif Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Transformer une image couleur en gris et en négatif Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 Transformer une image couleur en gris et en négatif

Aller en bas 
5 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Transformer une image couleur en gris et en négatif Empty
MessageSujet: Transformer une image couleur en gris et en négatif   Transformer une image couleur en gris et en négatif EmptyDim 24 Mai 2015 - 4:31

Transformer une image couleur en une image en gris et en négatif.

Voici l’image exemple:

Voici le résultat du traitement:

Laughing Et voici le code qui réalise cette huitième merveille du monde !  Laughing


Ne soyez pas trop impatient pour voir le résultat.
Le traitement peut durer un certain temps selon les dimensions de l'image. king
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Transformer une image couleur en gris et en négatif Empty
MessageSujet: Re: Transformer une image couleur en gris et en négatif   Transformer une image couleur en gris et en négatif EmptyDim 24 Mai 2015 - 9:47

Bravo et ça pourrait être le début d'une série de programmes et d'un article sur le traitement d'images avec différents traitement comme les flous, etc ... ?
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Transformer une image couleur en gris et en négatif Empty
MessageSujet: Re: Transformer une image couleur en gris et en négatif   Transformer une image couleur en gris et en négatif EmptyDim 24 Mai 2015 - 9:48

Bonjour papydall,

pour transformer une image en noir et blanc, il y a mieux que de faire la moyenne des composants RGB. Suppose que tu veux transformer ces 3 points colorés:
210,0,0
0,210,0
0,0,210
leur moyenne donnera:
70,70,70
70,70,70
70,70,70
soit 3 gris identiques.
Pour récupérer la luminance d'une couleur, il existe une équation:
Y = 0,299⋅R + 0,587⋅G + 0,114⋅B

Elle est extraite de l'espace colorimétrique YUV, plus de détail ici: YUV

Mais visuellement, la différence est faible avec le moyennage des composantes RGB.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Transformer une image couleur en gris et en négatif Empty
MessageSujet: Re: Transformer une image couleur en gris et en négatif   Transformer une image couleur en gris et en négatif EmptyDim 24 Mai 2015 - 10:35

Merci Silverman. Dans tous les cas, on peut proposer l'option et l'utilisateur peut choisir le résultat qui lui convient le mieux. On rentre vraiment dans le traitement de l'image par filtre avec des équations différentes. On doit pouvoir aussi à peine modifier le programme pour faire la même chose en sépia.
Un grand classique mais hyper simple à faire est de séparer les composants R, V et B.
Certains s'en servent aussi pour coder de l'information sur un des canaux avec des valeurs non signifiquatives au niveau de l'image.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Transformer une image couleur en gris et en négatif Empty
MessageSujet: Re: Transformer une image couleur en gris et en négatif   Transformer une image couleur en gris et en négatif EmptyDim 24 Mai 2015 - 15:42

Salut tout le monde.
Merci Jicehel.
Merci Silverman
On peut aussi jouer sur la luminosité (BRIGHTNESS),  le contraste (CONTRAST) et le gamma (GAMMA) du PICTURE.
Ces trois commandes font partie de Panoramic.

Code:

dim i
picture 1 : full_space 1
file_load 1,"c:\users\acer\desktop\image.jpg"
' pause 1000
for i = 1 to 10
    gamma 1,i
    contrast 1,i
    brightness 1,i : pause 200
next i
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Transformer une image couleur en gris et en négatif Empty
MessageSujet: re   Transformer une image couleur en gris et en négatif EmptyDim 24 Mai 2015 - 17:10

@ Papydall

cheers Bravo !
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Transformer une image couleur en gris et en négatif Empty
MessageSujet: Re: Transformer une image couleur en gris et en négatif   Transformer une image couleur en gris et en négatif EmptyDim 24 Mai 2015 - 20:02

Je pense que Silverman voulait parler de HSV/HSL...
ex:
L'image (j'ai réduit les dimensions) :
Transformer une image couleur en gris et en négatif Image210

Code:


rem ============================================================================
rem     Modifier une image couleur en gris et en négatif
rem                        Par Papydall
rem ============================================================================
rem Pour mettre en niveau de gris une image couleur, on change la couleur de
rem chaque pixel de l’image en la moyenne des trois composantes r,g,b
rem ============================================================================
rem Supposons que le pixel X,Y possède les 3 composantes (R1,G1,B1)
rem On calcule la moyenne M = (R1+G1+B1)/3 et on réaffecte à ce pixel les 3
rem nouvelles composantes (M,M,M)
rem Exemple :
rem Un pixel a pour couleur (0,100,80)
rem La moyenne est M = (0+100+80)/3 = 60
rem On réaffecte à ce pixel les 3 composantes (60,60,60)
rem ============================================================================
rem Pour changer une image couleur en négatif, on remplace les 3 composantes
rem (R1,G1,B1) par leur complément à 255
rem Exemple :
rem Un pixel a pour couleur (2,100,200)
rem Les compléments à 255 sont 255-2 = 253 ; 255-100 = 155 ; 255-200 = 55
rem On réafecte à ce pixel les 3 composantes (253,155,55)

rem ============================================================================

 Init()
 wait 100
 Traitement(10)
 show 15 :  show 20 : show 35:show 40
 caption 0, "Terminé"
end
rem ============================================================================
SUB Init()
    dim l,h,t$
    width 0,750 : height 0,650
    l = 267 : h = 200 : ' dimensions de l'image en pixels
    alpha 5 : top 5 , 5 : left 5,100 : font_size 5,14:caption 5,"Image de départ"
    Picture 10 :width 10,l :height 10,h:top 10,30 : left 10,10

    alpha 15 : top 15 , 5 : left 15,400 : font_size 15,14:caption 15,"Image en gris (TSL)" :  hide 15
    Picture 20 :width 20,l :height 20,h:top 20,30 : left 20,370 : hide 20

    alpha 35 : top 35 , 300 : left 35,400 : font_size 35,14:caption 35,"Image en gris (moyenne)" : hide 35
    Picture 40 :width 40,l :height 40,h:top 40,330 : left 40,370 : hide 40


    file_load 10,"Image2.jpg"  : pause 10
    t$ = "Veuillez patienter .... Traitements en cours ..."

    DIM cR%,cG%,cB%, cH,cS,cL
END_SUB
rem ============================================================================


SUB Traitement(p)
    dim_local x,y,r,g,b ,r1,g1,b1 ,moyenne
    for x = 1 to l
        caption 0,t$ + str$(int(x*1000/l)/10)+"%"
        for y = 1 to h
            r = color_pixel_red(p,x,y)
            g = color_pixel_green(p,x,y)
            b = color_pixel_blue(p,x,y)
            moyenne = int((r+g+b) /3)
            Copy_Picture(40,x,y,moyenne,moyenne,moyenne)  :  ' Image en gris
            
            RGB2HSL(r,g,b)
            ' cS=0 : ' On supprime la saturation pour faire du noir et blanc
            HSL2RGB(cH,0,cL)
            
            Copy_Picture(20,x,y,cR%,cG%,cB%)  :  ' Image en gris
            if scancode <> 0 then exit_sub
        next y
    next x
END_SUB

rem ============================================================================
SUB Copy_Picture(p,x,y,r,g,b)
    2d_target_is p : 2d_pen_color r,g,b : 2d_point x,y
END_SUB


rem ============================================================================
SUB HSL2RGB(H,S,L)
  DIM_LOCAL c,x,m
  DIM_LOCAL r,g,b
  c = (1 - ABS(2 * L -1))*S
  x = c * (1 - ABS(MOD((H/60),2)-1))
  m = L - (c / 2)
  
  SELECT (INT(H/60))
   CASE 0
     r = c : g = x : b = 0
   CASE 1
     r = x : g = c : b = 0
   CASE 2
     r = 0 : g = c : b = x
   CASE 3
     r = 0 : g = x : b = c
   CASE 4
     r = x : g = 0 : b = c
   CASE 5
     r = c : g = 0 : b = x
  END_SELECT
  cR%=(r+m)*255
  cG%=(g+m)*255
  cB%=(b+m)*255
END_SUB

rem ============================================================================

SUB RGB2HSL(R,G,B)
  DIM_LOCAL var_R,var_G,var_B
  DIM_LOCAL var_Min,var_Max,del_Max
  DIM_LOCAL del_R,del_G,del_B
  var_R = (R / 255)
  var_G = (G / 255)
  var_B = (B / 255)

  var_Min = min(min( var_R, var_G), var_B )
  var_Max = max(max( var_R, var_G), var_B )
  del_Max = var_Max - var_Min

  ' Calcul de la luminance
  cL = ( var_Max + var_Min ) / 2

  if (del_Max = 0)
    cH = 0 : cS = 0
  else
    ' Calcul saturation
    if (cL < 0.5)
      cS = del_Max / ( var_Max + var_Min )
    else
      cS = del_Max / ( 2 - var_Max - var_Min )
    end_if
    ' Calcul de la teinte
    if ( var_R = var_Max )
      cH = (var_G - var_B) / (var_Max-var_Min)
    else
      if ( var_G = var_Max )
        cH = 2+(var_B-var_R)/(var_Max-var_Min)
      else
        cH = 4+(var_R - var_G)/(var_Max-var_Min)
      end_if
    end_if
    ' conversion en degres
    cH =int(cH*60)
  end_if
END_SUB

L'image est plus fine en traitement HSL mais qu'est ce que c'est long en langage interprété... Sleep lol!
Apres verif, on obtient la meme chose.
Avec un damier #FF0000,00FF00,0000FF le resultat dans les 2 cas est un gris uniforme...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Contenu sponsorisé





Transformer une image couleur en gris et en négatif Empty
MessageSujet: Re: Transformer une image couleur en gris et en négatif   Transformer une image couleur en gris et en négatif Empty

Revenir en haut Aller en bas
 
Transformer une image couleur en gris et en négatif
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Barre de titre sans les 3 boutons
» pas de message d'erreur pour un indice tableau négatif
» Palette couleur
» Resultat de couleur
» J'ai perdu la couleur !!!

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: