通过闪亮的应用程序的下载按钮读取R中的CR2文件

时间:2014-03-28 18:26:17

标签: r shiny

有没有办法在R中打开CR2文件来读取位图图像。

我已经知道readJPEG()包的'jpeg'函数和readTIFF()包的'tiff'函数。

我的相机可以拍摄jpeg文件(每个通道只有256级(RGB))和CR2文件,我可以将其转换为tiff,但只能在其他软件上加一个额外的烦人步骤。

由于

编辑:好的,这是我的第一个问题,我不够精确,对不起

这是一个小型闪亮应用程序的脚本,可以执行我想要的操作,但是您可以在此处找到JPEG文件photo

list.of.packages <- c("jpeg","shiny")
new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
lapply(list.of.packages, require, character.only=TRUE)

shiny::runApp(list(
  ui = pageWithSidebar(
    headerPanel("HPTLC"),
    sidebarPanel(
      ###load a file through a download button
      fileInput('file', 'Choice of the JPEG file',accept=c('.JPEG')),
      ### choice of an horizontale pixel to plot the intensity curve of the three RGB channels
      numericInput('pixel',"choice of the pixel for the chromatogram",450)
      ),
    mainPanel(
      imageOutput("image1"),
      plotOutput("plot.v")
    )
  ),   
  server = function(input,output){

    ### read the image
    output$image1 <- renderImage({
      inFile <- input$file    
      outfile <- tempfile(fileext='.png')
      png(outfile, width=1000, height=500)
      plot(c(0,20),c(0,10), type='n',ylab="",xlab="")
      rasterImage(readJPEG(inFile$datapath,native=T),0 , 0, 20, 10)
      dev.off()
      list(src = outfile,
           contentType = 'image/png',
           width = 1000,
           height = 500,
           alt = "This is alternate text")
    }, deleteFile = TRUE)

    #### Render intensity plot
    output$plot.v <- renderPlot({
      inFile <- input$file
      data1<-readJPEG(inFile$datapath)     
      plot(data1[,input$pixel,1],type="l",col="red",ylim=c(0,max(data1)),xlab = "", ylab = "Intensity")
      par(new=T)
      plot(data1[,input$pixel,2],type="l",col="green",ylim=c(0,max(data1)),xlab = "", ylab = "Intensity")
      par(new=T)
      plot(data1[,input$pixel,3],type="l",col="blue",ylim=c(0,max(data1)),xlab = "", ylab = "Intensity")
    })


  }
))

我的问题是JPEG文件不够信息(对于我的意思是颜色数),我有一个CR2文件,但无法读取它。 ImageMagick软件的im.convert()解决方案可以工作,但是它可以用闪亮的吗?

再次感谢您的时间

0 个答案:

没有答案