Tôi đang sử dụng chức năng raster như được hiển thị trên các dòng bên dưới. Dòng cuối cùng của tôi tạo ra một số đầu ra. Đầu ra đó có một dòng ghi là dimensions : 240, 320, 76800 (nrow, ncol, ncell)
. Tôi muốn in lại hình ảnh đó nhưng chỉ nói 200 hàng đầu tiên và 300 cột đầu tiên. Làm thế nào tôi có thể làm điều đó? Dòng cuối cùng thứ hai dưới đây âm mưu toàn bộ hình ảnhgói raster hình ảnh R - in raster không có nền và đường viền và chú thích
f <- "pictures/image1-1421787394.jpeg"
f
r <- raster(f)
plot(r);
r
============================= Update1
Tôi đã làm 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()
để lưu hình ảnh đã cắt. Tôi đã có thể loại bỏ huyền thoại và rìu và hộp đen. Nhưng vấn đề là hình ảnh đã lưu chứa nhiều hơn phần cắt - ví dụ như phần màu trắng xung quanh hình ảnh. Tôi chỉ muốn lưu phần cắt của ảnh gốc (giữ kích thước hình ảnh 200 * 200 pixel). Xin vui lòng cho tôi biết làm thế nào để làm điều đó?
Hơn nữa, làm cách nào tôi có thể thêm hình vuông màu đỏ tương ứng với phần được cắt ở trên vào hình ảnh gốc? Tôi có nghĩa là tôi muốn có một hình vuông màu đỏ (chỉ cạnh) trên đầu của hình ảnh gốc và sau đó lưu hình ảnh này (hình ảnh gốc + hình vuông) làm hình ảnh mới.
Tôi có thể làm điều đó bằng cách nào?
Update2 ++++++++++++++++++++++++++++++++++++++++++++++++
thêm ví dụ lặp lại để hiển thị những gì tôi có nghĩa là bởi nền trắng
dòng cuối cùng bên dưới lô cắt hình ảnh. Tôi muốn hình ảnh đó là 100 * 100 vì xlim và ylim của tôi là 100. Nhưng tôi thấy một nền trắng như trong ví dụ dưới đây. (Bạn không thể nhìn thấy nền Nhưng nếu bạn chạy mã trên máy tính của bạn và mở hình ảnh, bạn sẽ thấy nó.)
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)
có cách nào để lưu hình ảnh mới (bị cắt) không? – user2543622
Chắc chắn - làm 'png (tên tệp = '~/x.png'); cốt truyện (r, xlim = c (0,200), ylim = c (0,200)); dev.off() '. Bạn cũng có thể các lệnh khác như 'pdf()' hoặc 'jpeg()' để tạo ra hình ảnh ở các định dạng khác nhau. –
một câu hỏi nữa: tôi đang lập kế hoạch để nhận các giá trị bằng hàm getValues (). getValues (r) hoạt động tốt. Nhưng tôi muốn nhận được giá trị chỉ cho hình ảnh bị cắt. Làm thế nào tôi có thể sử dụng chức năng getValues trong conjuction với các thông số xlim và ylim? – user2543622