有没有办法在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()
解决方案可以工作,但是它可以用闪亮的吗?
再次感谢您的时间