2016-04-13 16 views
2

Das ist mein Code bisher, ich bin ziemlich nutzlos und kann nicht viel Hilfe im Web finden. Ich schaue, um die Pixel des Wertes 0xff7a2080 aus dem Bild zu zählen und dann den Betrag in Haupt anzuzeigen, bevor Sie es als einen bestimmten Dateinamen speichern. Jede Hilfe würde sehr geschätzt werden.Wie man die Pixel in einem Bild mit Qimage zählt

unsigned TotalPixels (int width, int height) 
{ 

int pixelcount; 
int QImage:: width (QCoreApplication) const; 
int QImage:: height (QCoreApplication) const; 

{ 
    pixelcount = width * height; 
    } 

    return pixelcount; 
} 




int main(int argc, char *argv[]) 
{ 
QCoreApplication a(argc, argv); 
const char LogoFile[] = "RGUMoodleLogo.png"; 

unsigned PixelGrid[WIDTH][HEIGHT];  // Image loaded from file 

// If the file cannot be loaded ... 
if (!loadImage(PixelGrid, LogoFile)) 
{ 
    // Display an error message 
    cout << "Error loading file \"" << LogoFile << "\"" << endl; 
} 
else 
{ 
    cout << "File \"" << LogoFile << "\" opened successfully" << endl; 

    if (saveImage(PixelGrid, "RGUMoodleLogoCopy.png")) 
    { 
     cout << "File \"RGUMoodleLogoCopy.png\" saved successfully" << endl; 
    } 
    else 
    { 
     cout << "Could not save \"RGUMoodleLogoCopy.png\"" << endl; 
    } 

} 



return a.exec(); 

}

+0

Wo genau Sie QImage verwenden? – alex

+0

Ich bin mir nicht sicher, wie QImage im Moment verwendet wird. Gibt es eine einfachere Möglichkeit, Pixel zu zählen, ohne diese Funktion zu verwenden? – Owenb11

+0

Sie möchten also die Anzahl der Pixel in PixelGrid zählen, die den Wert 0xff7a2080 haben? – alex

Antwort

0

Die einfachste Lösung, die mir in den Sinn kam (zu Ihrem Stil anzupassen)

unsigned countPixels(unsigned pixels[][HEIGHT], long value) { 
    unsigned count = 0; 

    for(long x = 0; x < WIDTH; x++) { 
     for(long y = 0; y < HEIGHT; y++) { 
      if(pixels[x][y] == value) 
       count++; 
     } 
    } 
    return count; 
} 

Nutzung: std::cout << countPixels(PixelGrid, 0xff7a2080) << std::endl

+0

C: \ Benutzer \ Owen \ Desktop \ Graphics \ main.cpp: 8: Fehler: Deklaration von 'Pixeln' als multidimensionales Array muss Grenzen für alle Dimensionen haben, mit Ausnahme der ersten unsigned countPixels (unsigned pixels [WIDTH] [], long) Wert) { ^ Dies ist der Fehlercode, den ich bei der Implementierung Ihres Codes erhalte. Vielen Dank für die Hilfe !!! – Owenb11

+0

siehe meine Bearbeitung. Sie sollten auch versuchen, den Code zu verstehen, bevor Sie es verwenden – alex

+1

seine Prüfung schwieriger als ich erwartet habe, aber ich komme langsam. Danke trotzdem – Owenb11

Verwandte Themen