2015-12-31 7 views
0

Я хотел бы повернуть jpeg в Eclipse, используя Rserve(). Код в R подобен этому.Как загрузить и показать jpeg с помощью Rserve в Java (Eclipse)?

install.packages("jpeg") 
install.packages("Rserve") 
library(Rserve) 
library(jpeg) 
library(grid) 
setwd("I:/rr1") 
aa<-readJPEG("bird.jpg") 
r<-t(aa[,,1]) 
g<-t(aa[,,2]) 
b<-t(aa[,,3]) 
col <- rgb(r,g,b) 
dim(col) <- dim(r) 
grid.raster(col, interpolate=FALSE) 

В Eclipse, я не знаю, как использовать Rserve(), чтобы выполнить ту же задачу. Первоначально я использую

Image image = ImageIO.read(new File("i:\\rr1\\bird.jpg")); 

, а затем

c.eval("aa<-image"); 

Но это не работает. Более того, мне кажется, что я не могу использовать

c.eval("grid.raster(col, interpolate=FALSE)"); 

в Rserve(), чтобы объединить 3 канала в одно изображение, наконец. Кто-нибудь знает, как это сделать? Спасибо!

+0

Это не имеет никакого отношения к Rserve - какое устройство вы используете? Я бы рекомендовал устройство изображения, если вы смотрите на растровые операции, например, 'Cairo' поддерживает растровые операции в памяти, если это то, что вы хотите. –

+0

@SimonUrbanek Я только что установил r и Eclipse на одном компьютере, я не знаю, может ли Каир передать изображение в матрицу, так как я должен был сделать sth из матрицы позже. – miata

ответ

0

Вызов функций рендеринга изображений из Rserve поддерживается не так, поскольку функции рендеринга лучше всего работают с R-графическим интерфейсом (где отображается окно отображения для визуализации изображения, определено и правильно отформатировано).

Возможно, вы захотите попытаться записать растровый файл в файл, а затем прочитать файл с Java с помощью ImageIO.read().