Während der Codierung einiger Pixelmanipulationsklassen habe ich eine Nicht-Max-Unterdrückungsfunktion implementiert.Qt - Bildklasse - Nicht max. Unterdrückung - C++
-Code ist hier:
signed char * nonMaxSuppress(int windowSize, signed char * pointer) {
int delta = windowSize/2;
int index;
int counter = 0;
signed char current;
for(int row = 3; row < GLOBAL_HEIGHT - 3; ++row)
{
for(int col = 3; col < GLOBAL_WIDTH - 3; ++col)
{
counter = 0;
current = pointer[(row * GLOBAL_WIDTH) + col];
for(int i = 0; i < windowSize; ++i)
{
for(int j = 0; j < windowSize; ++j)
{
index = ((row - delta + i) * GLOBAL_WIDTH) + (col - delta + j);
if(current > pointer[index]) {
counter++;
}
}
}
if(counter != ((windowSize * windowSize) - 1)){
pointer[(row * GLOBAL_WIDTH) + col] = 0;
}
}
}
return pointer;}
nun das resultierende Bild vor und nach nicht max Unterdrückung recht seltsam ist. Es fühlt sich an wie eine Linie aus heiterem Himmel zu erscheinen begann. Bitte beachten Sie die beigefügten Bilder (Vorher und Nachher Nicht Max Unterdrückung).
Ich werde dankbar sein, falls Sie Hilfe benötigen.
Thx!
Bitte ignorieren Sie die 3 Pixel Fehler i in den Rand der Bilder haben und nur für Sie Wissen diejenigen Bild nach Graustufen- und diffrence Gaußsche
Können Sie sehen, die hinzugefügt Linien? Was ist es?