Überlappende Schiebefenster über Bild

Mein Ziel ist es, ein Schiebefenster über ein Bild in überlappenden Schritten zu lassen, damit ich in jedem Fenster einen Klassifikator ausführen kann und erkennst, ob ein interessantes Objekt da ist.

Dafür muss ich das sicher machen

  • Fenster, die ich für die Klassifizierung extrahiere, tue wirklich über das ganze Bild und
  • Greifen die oberen und linken Koordinaten jedes Schiebefensters auf dem Originalbild.

Nachfolgend von hier aus: Schiebefenster – Wie bekomme ich Fenster auf Bild?

Und basiert auf diesem Code für Schiebefenster:

Https://github.com/keepitsimple/ocrtest/blob/master/sliding_window.py#blob_contributors_box

Ich mache folgendes, da Winh und Winw die Schiebefensterbreite und -höhe sind und window_size ist (winh, winw):

grid_h_max =(imgheight/winh) grid_w_max= (imgwidth / winw) win = sliding_window(img, window_size, shiftSize=None, flatten=False) for h in range (grid_h_max): for w in range (grid_w_max): win = windows[h,w] grid_pos = (h,w), (winh, winw)) t, b, l, r = get_win_pixel_coords(grid_pos, window_size) 

Das funktioniert ganz gut und gibt mir gleitende Fenster sowie die Koordinaten für jedes Fenster. Aber ich bin nicht überlappende Schiebefenster.

Also, wenn meine Schrittweite 10 ist und mein erstes Fenster beginnt (oben, links): (0,0), dann sollte mein zweites Fenster (0, 10) sein.

Aber im obigen Code ist mein zweites Fenster (0, 60).

Früher habe ich diesen Code benutzt:

 windows = sw.sliding_window(image1, window_size, step_size, flatten=True) for w in windows: # and then I grabbed each w and printed it out 

Und das gab mir alle gleitenden Fenster, inklusive überlappender Fenster. Allerdings war ich bei dieser Methode nicht in der Lage, die oberen und linken Koordinaten jedes Schiebefensters zu greifen.

  • Vergleiche Ähnlichkeit von Bildern mit OpenCV mit Python
  • Kombinieren von zwei Bildern mit OpenCV
  • Robuste Verfolgung von Blobs
  • OCR Spielkarten
  • Re-initialisieren von Variablen in Tensorflow
  • Mit PIL können Sie einen Scan einer leeren Seite erkennen
  • One Solution collect form web for “Überlappende Schiebefenster über Bild”

    Okay, so habe ich herausgefunden, was das Problem war.

    Dieser Code verursachte keine Überschneidungen:

     grid_h_max =(imgheight/winh) grid_w_max= (imgwidth / winw) win = sliding_window(img, window_size, shiftSize=None, flatten=False) 

    Die Aufteilung der gesamten Bilddimensionen mit denen der Fenstermaße wird offensichtlich nicht überlappende Ergebnisse ergeben.

    Um die richtige Anzahl von Fenstern pro Dimension zu bekommen, erlaube ich mir einfach die Funktion sliding_window, mir selbst zu sagen, was die Anzahl der Fenster vertikal und horizontal ist:

     win = sliding_window(img, window_size, shiftSize=None, flatten=False) grid_h_max = win.shape[0] grid_w_max = win.shape[1] 

    Das gab mir ca. 5000 Fenster wieder.

    Python ist die beste Programmiersprache der Welt.