Fehler beim Ausführen von ImageMagick von R: Ungültiger Parameter

8

Ich versuche eine GIF-Animation in R zu erstellen. Ich habe ein Array von Matrizen, die ich in eine GIF-Animation umwandeln möchte. Meine Strategie ist von diesem Beispiel inspiriert:

Ссылка

wobei der folgende Code 11 PNG-Bilder mit der "png" -Funktion in R erzeugt. Als nächstes wird das externe ImageMagick-Programm "convert" benötigt, um die GIF-Animation zu kompilieren.

%Vor%

Das Problem ist, dass R scheint nicht die exe-Datei "convert" finde, die ein Teil von ImageMagick ist und installiert auf dem C-Laufwerk (C: \ Programme \ ImageMagick-6.8.5-Q16). In den Kommentaren auf der Website i zu früher bin Verknüpfung, wird vorgeschlagen, für die Benutzer von Windows zu verwenden "Shell" von instead "System" führen Sie externe Programme aus, aber keiner der beiden funktioniert. Die Fehlermeldung ist

%Vor%

Ich habe versucht, das Windows-PATH Umgebungsvariable in den Systemen Eigenschaften zu ändern, wie es in diesem Antwort , aber der PATH-Variable war bereits auf meinem System definiert. Ich habe auch versucht, den ganzen String der Datei convert.exe anzugeben, aber auch ohne Glück ...

Wie kann ich ImageMagick durch R laufen lassen?

Spezifikationen: Windows 7 Servicepack 1, R 3.0.0

Vielen Dank im Voraus ...

    
Duffau 30.04.2013, 23:09
quelle

4 Antworten

6

Unter Windows gibt es mehrere convert.exe-Befehle, die alle im PATH enthalten sind. Sie müssen also den Pfad zur rechten ausführbaren Datei convert.exe angeben. In meinem Fall hatte ich es im LyX-Ordner (Sie finden es jedoch auch in der ImageMagick-Installation). Seien Sie vorsichtig mit den Anführungszeichen, den umgekehrten Schrägstrichen und dem Abstand, wenn Sie einfügen. Z.B. aus dem R:

%Vor%     
Federico Giorgi 17.02.2015, 03:42
quelle
2

Ich bin ein Fenster 10 Benutzer, nachdem das Arbeitsverzeichnis definiert, ich habe es in R arbeitet mit

%Vor%

innerhalb von cmd bedeutet jeder Befehl folgendes

convert = offene Konvertierungsfunktion von ImageMagick

-set delay x = setze die Verzögerungszeit zwischen jedem Frame auf x (1000 = 1 Sekunde)

-loop 0 = Schleife für immer, wenn sie auf 1 gesetzt ist, wird sie einmal durch die Bilder gehen

*. [Bildtyp] = und Datei von. [Bildtyp]

[Name des Ausgabe-Gifs] .gif = neue .gif-Datei wie

speichern

Ich habe es zuerst in der Eingabeaufforderung ausgeführt, indem ich zu dem Verzeichnis navigiert habe und die Zeile ausgeführt habe

%Vor%

Vorher habe ich gebraucht     -delay = 80 eher, als     -set Verzögerung 80 in cmd und habe Fehler: konvertieren: ungültiges Argument für die Option '-delay':. = @ Fehler / convert.c / ConvertImageCommand / 1277

In R mit dem Befehl system () mit der richtigen "-set delay x" bekam ich Fehler:

%Vor%

andere Fehler in der Shell ()

%Vor%

Ich habe es in R mit shell () danach ausgeführt und es scheint gut zu funktionieren

%Vor%

Schau dir auch diesen Thread an

ImageMagick - Problem mit Windows-und konvertieren Funktion

    
hello.mckenna 31.03.2017 15:02
quelle
0

Ich weiß, dass jemand anderes bereits die Lösung für Ihr Problem gefunden hat, aber es gibt einen einfacheren Weg, es zu lösen, ohne den gesamten Pfad in system () einzubeziehen. Einfach ani.options(convert = 'pathway/convert.exe') setzen nach dem Laden des Animationspakets.

    
Hoangminh Thomas Nguyen 03.12.2014 09:11
quelle
0

Nach dem Versuch, alle diese Fixes sowie diese und diese ohne Erfolg, ich gebrauchte alternative Software, um die Konvertierung durchzuführen, von denen einige hier beschrieben sind. Ich bin ein Windows-Benutzer und fand die einfachen Anweisungen auf dieser Website für VirtualDub , um diese Aufgabe schnell zu erledigen.

    
Luke Macaulay 08.05.2015 08:21
quelle