Ich verwende Raster-Funktion wie in den Zeilen unten gezeigt. Meine letzte Zeile erzeugt etwas Ausgabe. Dieser Ausgang hat eine Zeile mit der Nummer dimensions : 240, 320, 76800 (nrow, ncol, ncell)
. Ich möchte dieses Bild erneut drucken, aber nur die ersten 200 Zeilen und die ersten 300 Spalten sagen. Wie kann ich das machen? Die zweite letzte Zeile unterhalb zeichnet das gesamte BildBild Raster R-Paket - Rasterdruck ohne Hintergrund und Rahmen und Legende
f <- "pictures/image1-1421787394.jpeg"
f
r <- raster(f)
plot(r);
r
============================= update1
Ich habe png(filename = '~/x.png');par(mar=rep(0, 4), xpd = TRUE, oma=rep(0, 4),bty='n') ; plot(r,xlim=c(0,200),ylim=c(0,200),legend=FALSE,axes=FALSE); dev.off()
, um das beschnittene Bild zu speichern. Ich konnte die Legende und Äxte und die Black Box loswerden. Das Problem besteht jedoch darin, dass das gespeicherte Bild viel mehr als einen beschnittenen Teil enthält - zum Beispiel einen weißen Teil um das Bild herum. Ich möchte nur den beschnittenen Teil des Originals speichern (Bildgröße 200 * 200 Pixel beibehalten). Bitte lassen Sie mich wissen, wie das geht?
Außerdem, wie könnte ich ein rotes Quadrat hinzufügen, das dem oben abgeschnittenen Teil zum ursprünglichen Bild entspricht? Ich meine, ich möchte ein rotes Quadrat (nur Kanten) oben auf dem Originalbild erhalten und dann dieses (Originalbild + Quadrat) als neues Bild speichern.
Wie könnte ich das tun?
update2 ++++++++++++++++++++++++++++++++++++++++++++++++
Zugabe wiederholbar Beispiel zu zeigen, was ich von weißen Hintergrund bedeuten
die letzte Zeile unterhalb Plots Bild abgeschnitten. Ich möchte, dass das Bild 100 * 100 ist, da mein xlim und Ylim 100 sind. Aber ich sehe einen weißen Hintergrund, wie im Beispiel unten gezeigt. (Sie können den Hintergrund nicht sehen, aber wenn Sie den Code auf Ihrem Computer ausgeführt werden und das Bild öffnen, werden Sie sehen es.)
library(raster)
r <- raster(nrow=240, ncol=320)
values(r) <- 1:ncell(r)
plot(r)
plot(r,xlim=c(0,100),ylim=c(0,100),legend=FALSE,axes=FALSE,frame.plot=F)
Gibt es eine Möglichkeit, das neue Bild zu speichern (abgeschnitten)? – user2543622
Sure - do 'png (Dateiname = '~/x.png'); Diagramm (r, xlim = c (0,200), ylim = c (0,200)); dev.off() '. Sie können auch andere Befehle wie 'pdf()' oder 'jpeg()' verwenden, um Bilder in verschiedenen Formaten zu erzeugen. –
eine weitere Frage: Ich plane, Werte mit der Funktion getValues () zu erhalten. getValues (r) funktioniert gut. Aber ich möchte nur Werte für beschnittenes Bild erhalten. Wie kann ich die Funktion getValues in Verbindung mit den Parametern xlim und ylim verwenden? – user2543622