Bild zerlegen und in mittlere Farbbereiche ermitteln



  • Hallo,

    ich habe folgendes mit dem C++ Builder vor:

    Ein beliebiges Bild (Format sei dahingestellt, eben was mit dem Builder am besten möglich ist) sagen wir 100*100 Pixel soll in Quadrate mit 10*10 Pixel Größe zerlegt werden, also insgesamt 100 Quadrate. Nun soll für jedes Quadrat eine mittlere Farbe ermittelt werden. Diese Farbwerte sollen zur Anzeige gebracht werden (das wär nicht so sehr das Problem). Kann man so was machen und wenn ja wie ungefähr?

    Kann man umgekehrt ein Bild aus verschiedenen kleinen Bildern zusammensetzen?

    Vielen Dank für Eure Antworten!

    Euer Al



  • Hallo

    ist alles nur ein Benutzen des Arrays TBitmap::Canvas::Pixels[][] um die einzelnen Farbwerte auszulesen und dann mittels Durchschnitt-Rechnung auszuwerten.

    bis bald
    akari



  • Hi und vielen Dank! Kannst Du mir auch sagen, wie man ein Bild aus vielen kleinen Einzelbildern zusammensetzen kann und darstellen kann?



  • Hallo

    mit Canvas::Draw kannst du ein TBitmap in die Canvas-Fläche zeichnen lassen.

    bis bald
    akari



  • Hi und wieder danke. Irgendwie scheint das ganze mit dem Farbmittelwert nicht zu funktionieren. Ich habe die Rot-Grün-Blauwerte eines jeden Punktes ermittelt und die Farbmittelwerte einer jeden Farbe berechnet. Setze ich das wieder zu ner Farbe zusammen, kommt da nur Müll raus (weit entfernt vom optischen Farbmittelwert). ich bin farbenblind. Wie kann man denn am besten einen realistischen Farbschwerpunkt ermitteln?



  • Ich denke mal, Dein (konstruktives) Problem hat mehr mit Farblehre zu tun als mit C++.

    Blöderweise sind meine Zeiten in der Druckindustrie auch schon länger her. Außerdem wurde dort mit CYMB (subrtaktiv) und nicht mit RGB(additiv) gemischt. Mein Tip ist, google mal unter RGB Farblehre.

    http://www.farbenlehre.com/rgb-farben/farben.htm
    http://www.wackerart.de/mixer.html



  • AlTheKingBundy schrieb:

    Ich habe die Rot-Grün-Blauwerte eines jeden Punktes ermittelt und die Farbmittelwerte einer jeden Farbe berechnet. Setze ich das wieder zu ner Farbe zusammen, kommt da nur Müll raus ...

    zeig mal her wie du das machst.



  • Hallo,

    Der Farbschwerpunk (oder Mittelpunkt) hängt ja vom verwendeten Farbraum ab. Ich halte RGB für Mittelbildungen oder auch für Gradienten für denkbar ungeeignet. Meiner Meinung nach ist der HLS oder der HSV dafür besser. Du müsstest also die Farben vorher in den entsprechenden Farbraum konvertieren, dann mitteln und bei Bedarf wieder zurückkonvertieren.
    Für HLS habe ich mal Konvertierungsroutinen geschrieben. Falls es dich interessiert, kann ich sie dir ja mal zumailen. Ich glaube die sind zum Posten ein wenig lang.


Anmelden zum Antworten