Bibliothek > Software

Mikrometer in Bild zeichnen

(1/3) > >>

MartinV:
Hallo!

Ich habe ein kleines Programm geschrieben, das ein Lineal in ein Bild zeichnen kann, und möchte es hier zur freien Verfügung anbieten.

Es läuft auf Linux und benötigt Imagemagick. Grundsätzlich sollte es auch auf Windows nutzbar sein. Bei Interesse teste ich das aus und beschreibe, wie man es auch auf Windows zum Laufen bringt.
Es läuft auf Linux, MacOS und Windows.
Außerdem gebraucht wird  ImageMagick, das es für alle drei Systeme gibt.
Für Windows wird außerdem Cygwin gebraucht, die Installation und Bedienung wird etwas weiter unten im Thread beschrieben.

Programm: imgruler

Zwei Beispielbilder:




Linux Benutzer dürften sich schnell damit zurecht finden. Windows Nutzer, die mit der Befehlszeile nicht vertraut sind, werden es eher gewöhnungsbedürftig finden, da es keine grafische Bedienung für die Maus hat.

Ausgabe von `imgruler --help`:

--- Code: ---Draw a ruler into an image.
Usage: imgruler [OPTIONS] [IMAGENAME]

Does not overwrite source file IMAGENAME.
Multiple IMAGENAMEs or wildcards * ? can be given. (E.g. pic*.jpg)
Without IMAGENAME a new image with a ruler only will be created.

Needs convert utility from ImageMagick.

Options: All options expect an argument.
Without options (or -h only) this help is displayed.
     
 -u   Real world size [and unit] of one element. Example: 5µm
      Default: 10
 -w   Pixel width of one element.
      Floating values like 7.4 are allowed. Element line positions
      will be rounded within the full ruler length. Default: 10
 -h   Pixel height of one element. Ruler height will be 5 times this height.
      Default: Same as element width.
 -n   Number of elements of the ruler. Determines its length. Default: 100
                 
 -x   X position of ruler. Default: center of image.
 -y   Y position of ruler. Default: bottom of image.
 
 -c   Color of ruler. Default: black. Possible e.g. white, red.
 -p   Font point size. Default: twice the element height.
 -f   Font to use. Get a list with:  convert -list font | grep 'Font:'
 -b   Background color of empty ruler images.
      Default: white. Possible e.g.: transparent
                   
 -m   Run with a predefined calibrated parameter set.
      (Define your own parameter sets in imgruler_calibrated().)
                 
 -o   Output file.
      Default: Source file with 'ruler_' added before file name.
      Default without source file: ruler.jpg
      Option makes only sense with not more than one source file.


--- Ende Code ---

Die wichtigsten Optionen sind:
-u   5µm       Das Maß einer Linealeinheit
-w  7.48       Breite einer Linealeinheit in Pixel. Nachkommastellen sind erlaubt. (Wird passend gerundet, Nachkommastellen nötig für exakte Gesamtlänge des Lineals).
-n 40            Anzahl von Linealeinheiten = Länge des Lineals

Standardmäßig wird das Lineal in der Bildmitte unten plaziert.  Mit weiteren Optionen können z.B. Position, Schriftgröße und Farbe geändert werden.

WStephan:
Hallo Martin,
das sieht sehr vielversprechend aus.
Vielleicht läuft das Script ja auch auf dem Mac wenn ImageMagick installiert ist.

Grüße
Werner

MartinV:
Hallo Werner,

ja, ziemlich sicher läuft das Skript auch auf einem Mac. Daran habe ich vorher gar nicht gedacht.
Es ist ein bash-Skript, und soweit ich weiß, hat auch Mac ein bash-Terminal.

Auf Windows kann man z.B. mit Cygwin ein bash-Terminal bekommen.

Imagemagick gibt es für Windows, Mac und Linux.

Gruß, Martin

WStephan:
Hallo Martin,
auf dem Mac läuft das Skript wie befürchtet nicht ohne Anpassungen.
OSX basiert halt auf BSD und unterscheidet sich in Details von Linux.
Wenn ich es dort lauffähig habe lasse ich Dir die Änderungen zukommen.

Grüße
Werner

Florian D.:
Hallo Martin,

sehr schön, danke!

Im Prinzip sollten Bash Skripte das ja auch unter Window 10 und neuer in der Powershell laufen.
Vielleicht mag das ja mal jemand, der mit diesen Betriebssystemen freiwillig arbeitet, ausprobieren.

Gruss,
Florian

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln