In diesem Artikel werden wir sehen, wie wir eine Maske des Bildansichtsobjekts in PyQTGaph erhalten können. PyQtGraph ist eine Grafik- und Benutzeroberflächenbibliothek für Python, die Funktionen bietet, die üblicherweise für das Entwerfen und für wissenschaftliche Anwendungen erforderlich sind. Hauptziel ist die Bereitstellung schneller, interaktiver Grafiken für die Anzeige von Daten (Diagramme, Videos usw.). Widget zur Anzeige und Analyse von Bilddaten. Implementiert viele Funktionen wie die Anzeige von 2D- und 3D-Bilddaten. Bei 3D-Daten wird ein Schieberegler für die Z-Achse angezeigt, mit dem der Benutzer auswählen kann, welcher Frame angezeigt werden soll. Zeigt ein Histogramm der Bilddaten mit einem beweglichen Bereich an, der die Dunkel- / Lichtpegel definiert. Der bearbeitbare Verlauf bietet eine Farbnachschlagetabelle. Die Maske verbirgt im Grunde den ausgewählten Teil der Bildansicht. Die Bildansicht ist weiterhin vorhanden, aber der Benutzer kann sie nicht sehen, dh es befindet sich eine Maske darauf.
Mit Hilfe des folgenden Befehls können wir eine Bildansicht erstellen 

# Erstellen eines Pyqtgraph-Bildansichtsobjekts
imv = pg.ImageView()

Zu diesem Zweck verwenden wir die Maskenmethode mit dem Bildansichtsobjekt.
Syntax: imv.mask()
Argument: Es wird kein Argument verwendet.
Rückgabe: Es wird das QRegion-Objekt zurückgegeben 

Unten ist die Implementierung 

from PyQt5.QtWidgets import *
  
import sys 
  
import numpy as np 
  
import pyqtgraph as pg 
from PyQt5.QtGui import *
from PyQt5.QtCore import *
  
  
class ImageView(pg.ImageView): 
  
    
    
    def __init__(self, *args, **kwargs): 
        pg.ImageView.__init__(self, *args, **kwargs) 
  
  
class Window(QMainWindow): 
  
    def __init__(self): 
        super().__init__() 
  
        
        self.setWindowTitle("PyQtGraph") 
  
        
        self.setGeometry(100, 100, 600, 500) 
  
        
        icon = QIcon("skin.png") 
  
        
        self.setWindowIcon(icon) 
  
        
        self.UiComponents() 
  
        
        self.show() 
  
        
        
  
    
    def UiComponents(self): 
  
        
        widget = QWidget() 
  
        
        label = QLabel("Geeksforgeeks Image View") 
  
        
        label.setMinimumWidth(130) 
  
        
        label.setWordWrap(True) 
  
        
        pg.setConfigOptions(antialias=True) 
  
        
        imv = ImageView() 
  
        
        img = pg.gaussianFilter(np.random.normal( 
            size=(200, 200)), (5, 5)) * 20 + 100
  
        
        img = img[np.newaxis, :, :] 
  
        
        decay = np.exp(-np.linspace(0, 0.3, 100))[:, np.newaxis, np.newaxis] 
  
        
        data = np.random.normal(size=(100, 200, 200)) 
        data += img * decay 
        data += 2
  
        
        sig = np.zeros(data.shape[0]) 
        sig[30:] += np.exp(-np.linspace(1, 10, 70)) 
        sig[40:] += np.exp(-np.linspace(1, 10, 60)) 
        sig[70:] += np.exp(-np.linspace(1, 10, 30)) 
  
        sig = sig[:, np.newaxis, np.newaxis] * 3
        data[:, 50:60, 30:40] += sig 
  
        
        
        imv.setImage(data, xvals=np.linspace(1., 3., data.shape[0])) 
  
        
        colors = [ 
            (0, 0, 0), 
            (4, 5, 61), 
            (84, 42, 55), 
            (15, 87, 60), 
            (208, 17, 141), 
            (255, 255, 255) 
        ] 
  
        
        cmap = pg.ColorMap(pos=np.linspace(0.0, 1.0, 6), color=colors) 
  
        
        imv.setColorMap(cmap) 
  
        
        layout = QGridLayout() 
  
        
        label.setFixedWidth(130) 
  
        
        widget.setLayout(layout) 
  
        
        layout.addWidget(label, 1, 0) 
  
        
        layout.addWidget(imv, 0, 1, 3, 1) 
  
        
        self.setCentralWidget(widget) 
  
        
        rect = QRect(100, 10, 300, 300) 
  
        
        region = QRegion(rect) 
  
        
        imv.setMask(region) 
  
        
        value = imv.mask() 
  
        
        label.setText("Mask : " + str(value)) 
  
  
App = QApplication(sys.argv) 
  
window = Window() 
  
sys.exit(App.exec()) 

Ausgabe :