[DELPHI] - Image brightness uitlezen

Pagina: 1
Acties:

  • Cavalera125
  • Registratie: December 2003
  • Laatst online: 12:59
Hoi,

ik heb een probleem. Ik moet van een plaatje de helderheid uitlezen. Ik heb al behoorlijk wat gezocht in de delphi help en op google en uiteraard ook hier, maar zo te zien is er in delphi zelf niet direct een functie om de brightness op te halen. Hoe zou een functie eruit zien die de brightness ophaalt. Ik ben nu met mijn gedachten zover:

- Brightness waarde tussen 0 en 255.
- Brightness totaal van rgb waardes?

Is dit een goede gedachtengang. Het uitlezen van rgb waarden is geen probleem, maar hoe ik daaruit de brightness kan afleiden? Buiten bovenstaande geen idee.

Kan iemand me opweg helpen?

Het gaat overigens om Delphi 5.

  • raoulduke
  • Registratie: Oktober 2003
  • Niet online

raoulduke

Get in!

Definieer de brightness van een plaatje. Hoe meet je dit?

Remember, if you have any trouble you can always send a telegram to the Right People.


  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
afbeelding zwart/wit maken, en van daar uit de brightness afleiden uit het gemiddelde van de grijswaarden voor iedere pixel, of een groter oppervlak?

  • Cavalera125
  • Registratie: December 2003
  • Laatst online: 12:59
raoulduke schreef op 04 mei 2004 @ 20:58:
Definieer de brightness van een plaatje. Hoe meet je dit?
Ik zat zelf te denken aan de hoeveelheid wit in een plaatje, hoe witter hoe meer brightness dus. Maar om de hoeveelheid wit te bepalen moet ik dan alle waardes bij elkaar tellen?

Verwijderd

Dit niet niet de correcte manier, de foto omzetten naar zwart/wit lijkt me een beter plan.

Want wat zou de brightness zijn als ik een close-up van b.v. een sinasappel maak?

  • jvo
  • Registratie: Augustus 2001
  • Laatst online: 04-10-2023

jvo

geen commentaar

Je kan per pixel uitgaan van een lineare menging van de kleuren. Bijvoorbeeld zoals die in de conversie van rgb naar yuv:

helderheid = 0,299 * rood + 0,587 * groen + 0,114 * blauw

Daarna kan je gewoon de gemiddelde helderheid van de pixels nemen. (Niet het totaal, dan is een groter plaatje helderder.)

Waar heb je het eigenlijk voor nodig?

Verwijderd

Kijk eens of er in de GFL SDK ( te downloaden op http://www.xnview.com/ ) niet iets zit waar je wat aan hebt. Die SDK is van de maker van XNView ( een ACDSee kloon ), en heeft eebn hele hoop functionaliteit die hij in zijn viewer ook heeft zitten ( resize, JPEG lossless trasnforms, kleurfilters ). Delphi en VB voorbeeldcode included.

  • Cavalera125
  • Registratie: December 2003
  • Laatst online: 12:59
jvo schreef op 05 mei 2004 @ 09:24:
Je kan per pixel uitgaan van een lineare menging van de kleuren. Bijvoorbeeld zoals die in de conversie van rgb naar yuv:

helderheid = 0,299 * rood + 0,587 * groen + 0,114 * blauw

Daarna kan je gewoon de gemiddelde helderheid van de pixels nemen. (Niet het totaal, dan is een groter plaatje helderder.)

Waar heb je het eigenlijk voor nodig?
Ah, dit is interessant.

Even vertellen waarvoor het nodig is. De beelden van een webcam moeten worden uitgelezen. Aan de hand van de hoeveelheid licht in het beeld moet er een lamp in- of uitgeschakeld worden via een relaiskaartje zodat het beeld een ongeveer contstante brightness heeft.

Ik zal ook eens even naar die link kijken.

Verwijderd

Je webcam als lichtsensor? beetje overkill :)

Zorg iig dat je webcam NIET automatisch corrigeert voor lichtverschillen (dat doen ze meestal wel normaal :))

edit: ik moet beter lezen, je wilt juist dat je een constante bricghtness hebt op je webcam.. Meestal is dit een driver setting toch?

[ Voor 31% gewijzigd door Verwijderd op 05-05-2004 20:00 ]


  • jvo
  • Registratie: Augustus 2001
  • Laatst online: 04-10-2023

jvo

geen commentaar

Cavalera schreef op 05 mei 2004 @ 19:32:
[...]

Ah, dit is interessant.

Even vertellen waarvoor het nodig is. De beelden van een webcam moeten worden uitgelezen. Aan de hand van de hoeveelheid licht in het beeld moet er een lamp in- of uitgeschakeld worden via een relaiskaartje zodat het beeld een ongeveer contstante brightness heeft.

Ik zal ook eens even naar die link kijken.
Ok, dan zou ik als tip meegeven om niet alle pixels mee te nemen in dat geval. Gewoon in elke richting steeds n pixels overslaan bijvoorbeeld. Dat scheelt behoorlijk in de benodigde rekenkracht. Misschien kan je het nog wat geavanceerder dan dat maken, maar dat terzijde.
12_0_13 schreef op 06 mei 2004 @ 11:14:
Kijk voor de grap ook eens naar: histogram equalization
Ja, dat is wel wat beter. Er is een third party histogram equalization filter voor virtualdub. Misschien kan de maker daarvan je helpen/wat sourcecode sturen.

[ Voor 20% gewijzigd door jvo op 06-05-2004 11:54 ]


  • 12_0_13
  • Registratie: April 2004
  • Laatst online: 12-02 13:19
Kijk voor de grap ook eens naar: histogram equalization
Pagina: 1