hallo,
Ich würde es so machen.
Du führst zwei boolische variablen pro matrix element ein. (X und Y)
X ist inizialisiert mit 1;
Y ist inizialisiert mit 0;
diese dienen als markierung.
Zusätzlich noch die variable tmp und past welche den typ des elementes haben.
Wenn X des vorgänger true ist, dann prüfe ob TMP == wert von aktuellen element falls ja verknüpfe das Y des vorgängers mit OR true sonst mit false.
Wenn past und das aktuelle elemente gleich sind verknüpst du das X des nachfolgers AND mit true sonst mit false. setze TMP:=past. setze past auf aktuelles element.
rücke eine element weiter(wenn es aus dem definitionsbereich fällt, am anfang der nächsten spalte beginnen) beginne so lange von neuen bis alle elemente untersucht wurden.
Transponiere (zeilen und spalten, vertauschen [bzw. bei mehr dimensionen verschieben, die wegfallende dimension wird dabei zur ersten]) die matrix und spiegle die aktuelle dimension, vorsicht mit den koordinaten dabei (man kann sich das so vorstellen, eine normale transponation ist die matrix gespiegelt um von der oben linken zur unteren rechten ecke, wir wollen aber das es von der rechten oberen zur linken unteren ecke gespiegelt ist). beginne so oft von neuen bis alle dimensionen abgearbeitet wurden, also praktisch zweimal durch gelaufen bist. (also in der regel 2, falls du nicht ganz was spezielles baun willst

.
alle elemente mit X==true && Y==true
sind das ergebnis.
weiß net ob ich nen denkfehler drinnen habe oder sontst was. Es ist schon echt spät.
Natürlich musst du noch einbaun ob du überhaupt in definitionsbereich bleibst bei den indizes.
Man kann diesen algorithmus auch noch optimieren in den du dir beim ersten durchgang die position der kanidaten speicherst und nur mehr von diesen aus "parst".
Die komplexität des algorithmus müsste O(spalten*zeilen) betragen, habe dies aber nicht nachgewiesen. Sondern ist nur eine überlegung.
Ich möchte noch ergänzen das Mustererkennung eine hochkomplexe (und angeblich auch schwierger studien zweig) angelegenheit ist. Also nehme ich an das du mit meinen algorithmus nicht weit kommst wenn du ihn wirklich auf hochauflösende "bilder" anwenden willst. Aber dann solltest du doch lieber einschlägige literatur dazu lesen.