AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 18:02

Parameter dieser Suchanfrage:

Suche in Thema: weniger Scanline aufrufe ... Graustufenbild
Suche alle Beiträge, die von "Michael II" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 13 von insges. 13 Treffern
Suche benötigte 0.000s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 6. Apr 2024
    Wenn es dir um Effizienz geht (deine Scanline "Optimierung"), dann solltest du bei zeitkritischen Anwendungen auf die Callback Funktion verzichten. Damit sparst du viel mehr Nanosekunden ;-).
    Und wenn du das nicht willst: In vielen Anwendungsfällen kannst du sicher auf die Weitergabe von x,y an deine Callbackfunktion verzichten.
    Ich habe auch rasch gemessen: 1220x753 Bild, 1000 Durchläufe:
    0:...
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 1. Apr 2024
    Ich in #13, #20, #25 auch ;-).
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 31. Mär 2024
    Hallo Thomas
    ich weiss nicht was du in deiner _Callback tust - wahrscheinlich das in #1 ursprünglich verlangte (?).
    Hast du deine Varianten 1,2,3 auf deinem Rechner auch "gegen" den Code aus #20 laufen lassen?
    Gruss Michael
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 18. Feb 2024
    Hallo Thomas
    geht beides - du müsstest in deinem Code dann halt noch faktor als UInt64 definieren und das kostet ein wenig und shift kannst du nicht als const definieren (shift ist bereits ein Rückgabewert). Wenn man diese Dinge berücksichtigt, dann läuft dein Code in 4.74ms und der vorgeschlagene in 3.42ms pro Million Aufrufe durch. Da man bei Farbmatrizen den Aufruf meistens nur maximal 3 Mal...
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 17. Feb 2024
    Hallo Kas Ob wie vergleichst du BitMaps schnell? Via Streams dauert bei mir der Vergleich für 1 Mio Pixel Bitmaps viel länger als das Rechnen; lohnt sich also nicht (ausser vielleicht für sehr grosse Bitmaps - habe ich nicht getestet). Oder meinst du nur Handle Vergleich?

    Und dann noch Sorry für den intRGB Joke ;-)

    procedure intRGB( dr, dg, db : double; var ir, ig, ib, shift : UInt64 );...
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 14. Feb 2024
    Hallo bernhardLA

    für die Bearbeitung von 8Bit Graustufenbildern kannst du fast 1:1 den Code kopieren. Du musst einfach daran denken, dass ein Pixel nur noch 1 Byte Platz einnimmt.

    Hier habe ich dir noch eine recht schnelle Variante für die Umwandlung RGB > GrauGrauGrau (24Bit -> 24Bit).

    Du kannst den Farbwerten RGB Gewichte fr,fg,fb (fr+fg+fb sollte <=1 sein) zuordnen.

    Da ich hier im...
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 12. Feb 2024
    Hallo bernhard_LA ich kann aus deiner Grafik nix lesen. (Tipp: Meldungen in der IDE kann man auch als Text kopieren ;-).)

    Hast du mal einen Break Point gesetzt und geprüft, ob die beteiligten Elemente initialisiert sind (InBmp muss Pixelformat=pf24Bit aufweisen, OutBmp muss vor dem Aufruf erzeugt worden sein ) und sinnvolle Werte gespeichert sind? Ich nehme mal an, dass height >= 1 ist (sonst...
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 12. Feb 2024
    Hallo Thomas dein in #15 gezeigter 24Bit Bitmap Code auf #1 angewendet läuft bei mir nun in 1820ms (1000 Mal 1000x1000Pixel) durch.

    procedure DZeuch(_SrcBmp, _DstBmp: TBitmap; Threshold: Byte);
    const
    BytesPerPixel = 3;
    var
    x: Integer;
    y: Integer;
    w: Integer;
    h: Integer;
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 12. Feb 2024
    Bin gerade zu müde, um es nachzumessen ;-).

    Du kopierst in deinen Schleifen Pixel für Pixel von Src nach Dst. Mit einem Assign wird das in einem Rutsch vor der Schleife getan und du kannst dich dann in der Schleife nur noch mit Dst beschäftigen und Src komplett weglassen.

    Wie gesagt: Gemessen habe ich nicht - aber wenn das Assign() (seit es Assign() gibt) nicht schneller sein sollte als...
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 11. Feb 2024
    Eigentlich wollte ich ja nix mehr dazu schreiben, aber es "nervt" halt doch ein wenig, wenn behauptet statt gemessen wird ;-).

    Fünf Mal 1000 Bilder der Grösse 1000x1000 umgewandelt.

    Die in #1 vorgestellte Lösung benötigt auf meinem nicht mehr allzu frischen Notebook im Schnitt 4950ms.
    Meine in #7 benötigt 2011ms und diese hier (unten) 1373ms (wobei man das ganz sicher schöner und auch ein...
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 11. Feb 2024
    Und da Threshold wahrscheinlich eh fast immer 0 ist geht's noch einfacher ;-).
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 11. Feb 2024
    Dann Sorry - macht es so wie es besser ist - ich lasse aber meinen Code als sehr schlechtes Beispiel stehen; ein Mahnmal für "wie man es nicht tun sollte". Danke für die wertvollen Inputs.
  • Forum: Multimedia

    AW: weniger Scanline aufrufe ... Graustufenbild

     
      by Michael II, 11. Feb 2024
    Dein Code ist viel zu kompliziert und dadurch auch langsam.

    So könntest du es für 24Bit tun. Und für die anderen Formate natürlich ähnlich.

    procedure CreateSpecialImage(const InBmp, OutBmp: TBitmap; Threshold: Byte);
    var
    OutPixel: PRgbTriple;
    height, width, x, y: Integer;

    begin


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Michael+II&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=214629
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz