Aufgabe
Wenn Sie ein Bild mit einer Linie darauf haben, erstellen oder zeigen Sie ein Bild an, bei dem die Linie die Linie bis zum Bildrand verlängert. Die Linie ist schwarz und der Hintergrund ist weiß. Die Bildgröße ist 100x100
Das Bild kommt in jedem vernünftigen Format (zB jpg
, png
, ppm
, bmp
).
Zeilenformat
Ich verwende eine vereinfachte Version von Bresenhams Linienalgorithmus zum Zeichnen von Linien. Linien haben nur eine ganzzahlige Steigung, so dass die Linie ein Pixel niemals teilweise bedeckt, sondern nicht färbt:
( Wikipedia Bild )
Die Linie ist mindestens 3x3, es sei denn, die Linie ist gerade. In diesem Fall sehen Sie im Bild nur 3x1 oder 1x3. Linien haben auch eine Seite am Bildrand, sodass Sie sie nur in eine Richtung verlängern müssen.
Beispiel ( .png
rote Linie hinzugefügt, damit Sie es sehen können):
Echte Beispiele ( .png
)
====================
====================
====================
====================
code-golf
geometry
image-processing
J Atkin
quelle
quelle
Antworten:
Mathematica, 125 Bytes
Erläuterung
ImageLines
Erkennen Sie Linien im Bild mit der MethodeRANSAC
. Wir nehmen die erste erkannte Linie und konvertieren sie zurück in ein Bild. Die gesamte Funktion nimmt ein Bild als Argument und gibt ein Bild zurück.quelle