Posts

Matlab: 3D Kartesisches Grid, Vektoren mit Transformation/Rotation

Bild
(English)  Dieser Post beschreibt, wie man in Matlab zwischen Korrdinatensystemen wechseln/transformieren kann und wie dies dargestellt werden kann. Hierbei sind 3 Funktionen entscheiden: grid3D(startVec, stopVec, varargin) ... Erstellt ein orthogonales Gitter in 3D abhängig von Start und Endpunkt (Diagonale eines Würfels) und zeichnet hierbei Ticks, Labels und MinorGrids. Es können hier Rotationen durchgeführt werden und so Dargestellt werden, wie zwischen kartesischen Korrdinatensystemen transformiert wird. point3D(startVec, stopVec, varargin) ... Ist eine Funktion zum Erstellen von 3D Vektoren anhand Start und Endpunkt. Es beinhaltet Optionen wie das benennen der Punkte, Darstellung als Pfeil, als auch Einstellungen zu Farbe und Dicke. arrow3D(startVec, stopVec, varargin) ... Diese Funktion erzeugt einen Pfeil in 3D der skaliert werden kann durch die Optionen. Die Funktionen inclusive Beispiel können hier heruntergeladen werden: Matlab-Functions/CartesianCorrdinateTransformation at

Vietnam in 3 Wochen

Bild
Vietnam in 3 Wochen ( English ) Wir waren 3 Wochen in Vietnam mit kleinen Backpacks (30 Liter) unterwegs und hier wollen wir ein paar Tipps, Hinweise und Informationen über unseren wunderschönen Urlaub teilen :D Wir teilen den Post in verschiedene Kategorien ein: 1. Visa 2. Unterkünfte 3. Unsere Reise 5. Essen 6. Trinken 7. Feilschen Wir sind im Norden in Hanoi gestartet und in mehreren Etappen Richtung Süden weitergezogen. Wir waren rückblickend sehr zufrieden mit unserer Route und führen hier die wichtigsten Dinge auf. 1. Visa: Wir hatten vorab bereits ein Visa Online beantragt, um Zeit zu sparen. So zumindest unser Plan. Die Ernüchterung kam kurze Zeit nach der Landung in Hanoi. Den vietnamesischen Mitarbeitern am Flughafen war dies völlig egal, wir mussten den ganzen Papierkram also trotz Allem ausfüllen und haben insgesamt wohl eher noch eine Stunde länger gebraucht aufgrund der Verständigungsprobleme und einiger Unklarheiten. Wir mussten trotzdem 2

Kurztrip nach Krakau (Geheimtipps)

Bild
2 Tagesausflug nach Krakau ( English ) Wir haben uns ganz spontan entschieden nach Krakau zu fliegen weil Flüge für etwa 25€ zu finden waren. Deswegen haben wir mal nach speziellen Tipps gesucht, was man alles in 2 Tagen dort machen kann und dies mit unseren Erfahrungen zusammengefasst. Geld: Meistens haben wir gehört, dass es sehr billig alles ist, allerdings ist es sehr Europäisch, heißt normale Restaurants haben normale Preise... Deswegen ist wichtig zu wissen wohin man geht. Wechsel: Wir haben für die 2 Tage 200 Zloten (polnisches Geld = 58€) am Flughafen gewechselt, allerdings wäre es billiger in Frankfurt gewesen. Transfer: Der Transfer vom Flughafen ist recht günstig (3,8 Zloten 1€) und die Tickets können direkt im Bus gekauft werden. In Krakau braucht man keinen Nahverkehr weil alles sehr nah beisammen liegt und die Spaziergänge durch die Stadt sind ganz schön. Hostel: Die Hostels sind sehr günstig! Wir waren im Salve Hostel und haben direkt neben der Altstad

Matlab: Punkt auf ellipsoidalen Oberflächen

Bild
( German ) This post is focussing on the solution of calculating a point of an ellipsoidal surface in dependency of to angles like in spherical coordinates. Mode of operation: This function calculates the closest point on an ellipsoidal surface from an point outside or inside the body in respect to its center. It needs the mesh data of the ellipsoidal body X, Y, Z and the point, where the point with direct connection to the center should be found on the surface. The output parameters are [point, phi, the] = PointOnSurfaceAnalytic(X, Y, Z, x, y, z); the surface point and the angles phi and theta of the ellipsoidal equations. It can be downloaded here .   To derive the formula we start with the ellipsoidal equation: (x/ a)^2 + (y/ b)^2 + (z/ c)^2 = 1   If we consider 𝝋 to be between the x and y axis and  𝝑 be between the y and z axis it leads to: x = y/tan 𝝋   z = y/tan 𝝑   Substitute this in the ellipsoidal equation one gets: (y/( a tan 𝝋))^2 +

Matlab: Klassifizierung

Bild
( German ) This post describes a Matlab function which classifies images dependent on shape color and so on to differentiate between images like bananas and apples. Mode of operation: In this function different attributes of images are calculated in values to classify images and seperate them in 2D or 3D. Classification methodes are 'color', 'color2' and 'colorhex' for different color classifications and 'brightness' for the brightness value 'shape', 'std', 'mean', 'cov' and 'sub' are different shape conditions. This function can be downloaded on MathWorks . Following figure shows the classification of apples, bananas and black berries.  It is seen in three dimensions it is clearly classified. Most of the mathematical algortihm are based on magnitude gradient maps to whether calculate shape or substructures. Following figure shows the different input images and their gradient map. In sou

Matlab: Convolutional Netzwerk für Würfel Nummer Erkennung

Bild
( English ) This post describes a Matlab function which uses a 7 layer convolutional network for dice number identification (numbers 1-12). It calls for the earlier proposed image processing methode shown in this post . Mode of operation: Two methodes were tested. The dice as shown in previous post is just a tiny part of the whole image. With image processing, the dice itself is excluded and saved in a new folder sorted by number. They are loaded in "digitData". The it is splitted in trainigs set (4/5) and test set (1/5 of alle images). All in all I have 996 images and I tested the not processed images and the binare tresholded images, which suprisingly showed a higher accuracy for the non processed images. An all in all accuracy of 99.6% in the training set and 99.2% in the test set was achieved around 5% higher than for the binare images. In this image the value of accuracy is seen what the convolutional net predicts. A good improvement is seen in non proc

Matlab: Lieder sortieren

( English ) Dieser Beitrag beschreibt ein Matlab Skript in dem Lieder aus einem Ordner in einen anderen Ordner sortiert nach Interpreten gespeichert wird. Funktion: Zu erst wird der Pfad der zu sortierenden Dateien und der Pfad in welche diese sortiert werden ausgewählt. Da manchmal im Ordner versteckte Daten wie ".", ".." oder "Desktop.ini" sind werden diese herausgenommen. Jetzt wird der Dateien Name jeder Musikdatei aufgespalten in Interpret und in Liedname und unnötigt zusätze wie "(Official Video)", "[pleer.com]" weggeschnitten. Jetzt wird für jedes Lied nachgeschaut, ob ein Ordner des Interpreten schon in dem zu speichernden Ordner ist. Wenn es keinen gibt wird einer erstellt mit dem Namen der Interpreten. Dann wird in diesem Ordner überprüft, ob das Lied bereits existiert und wenn dies nicht der Fall ist wird das Lied in den Ordner kopiert. All erfolgreich kopierten Liednamen werden in der Konsole ausgegeben. Dabei kann am

Matlab: Entfernung von Hintergründen in Bildern

Bild
( English ) Dieser Beitrag ist über eine Matlab Funktion die von Bildern den Hintergrund auswählen kann, um diesen transparent zu entfernen. Dabei kann der Hintergrund aus mehreren Farben bestehen und verschmiert sein! Dies ist praktisch für Präsentationen, damit die Bilder zum Hintergrund passen ohne Ränder zu haben. Prinzip: Dies is eine Interface basierte Funktion bei der man Bilder jedes Typen per Buttom laden kann. Mit dem Buttom "Choose Background" kann in dem auftretenden Bild die Hintergrundfarbe gewählt werden, welche rechts durch die weiße Farbe gekennzeichnet ist, welcher Bereich selektiert ist. Nun kann mit dem Schieber die Differenz zu der Farbe gewählt werden. Beispielsweise sind für die Stellung 10 für die Farbe [50 5 200] alle Farben im Bereich [40 0 190] bis [60 15 210] selektiert. In dem Graphen unten links kann die ausgewählt Hintergrundfarbe überprüft werden. Mit dem Buttom "next BG" kann dann ein weiterer Hintergrund, ebensfall

Matlab: Bilderkennung von 12 seitigem Würfel mit Zahlen

Bild
( English ) Dieser Beitrag ist ähnlich zu dem Beitrag davor und beschreibt die Identifikation von Zahlen  von 1-12 eines 12-seitigen Würfels. Diese Bilder sind ebenfalls in der automatischen Würfelmschine meines Bruder erzeugt worden. Würfel Identifikation: Zuerst werden alle Bilder in Matlab geladen und auf eine 200x200 Pixel Größe reduziert. Dieses Bild wird nun konvertiert via rgb2gray in ein farbloses Bild. Darauf hin wird der Gradient angewendet und dieses und das graue Bild werden mit einem Treshold in binäres Bilder umgewandelt. Das Gradienten Bild wird mit der morphologischen Operation imclose erweitert und dann mit dem normalen binären Bild multipliziert und dann wird Dilatation angewendet um die Konturen dicker zu machen. Hiernach wird eine große For-Schleife über alle Bilder durchgeführt und die Mitte des Bildes mit meiner Funktion bestimmt (gewichtet alle Stellen die 1 sind und findet die Mitte davon: bestimmt den Mean-Wert aller Zeilen und Spalten an den