Wie maskiere ich ein Bild mit Numpy / OpenCV?

8

Ich habe ein Bild, mit dem ich lade:

%Vor%

Ich möchte Daten behalten, die sich in der Mitte des Bildes befinden. Ich habe einen Kreis als Maske des Bereichs erstellt, den ich behalten möchte.

Ich habe den Kreis mit:

erstellt %Vor%

Wie kann ich die Daten außerhalb des Kreises vom Originalbild ausblenden?

%Vor%

funktioniert nicht.

    
Hidden Name 01.08.2014, 06:51
quelle

4 Antworten

11

Verwenden Sie cv2.bitwise_and und übergeben Sie den Kreis als Maske.

%Vor%     
Froyo 04.08.2014 08:50
quelle
4

circle ist nur ein 2D-Array mit 1.0 s und 0.0 s. Numpy braucht Hilfe, um zu verstehen, was Sie mit der dritten Dimension von im machen wollen, also müssen Sie ihm eine zusätzliche Achse geben und dann würde Ihre Linie funktionieren.

%Vor%

Beachten Sie jedoch, dass die Maskierung einfach die Farbe auf (0, 0, 0) für Dinge außerhalb des Kreises gemäß Ihrem Code setzt, wenn das Bild keinen Alpha-Kanal hat.

Sie haben jedoch ein anderes potentielles Problem: circle wird vom Standarddatentyp sein (was wahrscheinlich float64 oder float32 sein wird. Das ist nicht gut für Ihr Bild, also sollten Sie die Zeile ändern, in der Sie erstellen circle bis

%Vor%     
deinonychusaur 01.08.2014 07:43
quelle
0

Wenn Sie in diesem Fall ein kreisförmiges Bild haben wollen, müssen Sie einen neuen Algorithmus schreiben und zuerst müssen Sie auf die Koordinaten von Pixeln zugreifen können .... dann können Sie für alle Pixel einen Vergleich durchführen, für die es keine gibt Kreisfläche muss Nullwert haben dann hast du alles was du willst! aber ich weiß nicht opencv akzeptiert den Nullwert oder nicht? So können Sie es ausprobieren!

Auch ich schreibe diesen Code und versuche ein paar Wege, aber ich konnte kein richtiges Ergebnis bekommen! In diesem Code mache ich ein Rechteck um den Kreis und versuche die Pixel außerhalb des Kreises zu sichern!

%Vor%     
Kasramvd 01.08.2014 09:15
quelle
0

Verwenden von NumPy-Zuweisung zu einem indizierten Array :

%Vor%     
Delgan 24.06.2016 13:54
quelle

Tags und Links