美文网首页
R可视化——图片颜色提取及应用(以jpg格式图片为例)

R可视化——图片颜色提取及应用(以jpg格式图片为例)

作者: 科研那点事儿 | 来源:发表于2022-09-22 19:20 被阅读0次

设置工作目录、加载R包

rm(list = ls())
#设置工作目录
setwd("D:\\图片颜色提取")
#加载R包
library(RImagePalette)
library(imager)
library(scales)
library(ggplot2)
library(ggprism)
library(reshape)
library(ggalluvial)

加载图片并提取颜色

1、图片加载及预览——jpg格式图片加载主要基于imager包中的load.image()函数:
##图1
imgjpg1 <- load.image("test1.jpg")#读取图片
plot(imgjpg1,xlim = c(1,width(imgjpg1)),ylim = c(height(imgjpg1),1)) #显示图片
image.png
2、提取图片颜色——主要基于RImagePalette包中的image_palette()函数:
#提取图片颜色
df_color1 <- image_palette(imgjpg1,n=10)
show_col(df_color1)#展示
image.png
3、同样的原理提取其他图片颜色:
##图2
imgjpg2 <- load.image("test2.jpg")#读取图片
plot(imgjpg2,xlim = c(1,width(imgjpg2)),ylim = c(height(imgjpg2),1)) #显示图片
#提取图片颜色
df_color2 <- image_palette(imgjpg2,n=10)
show_col(df_color2)
image.png image.png
##图3
imgjpg3 <- load.image("test3.jpg")#读取图片
plot(imgjpg3,xlim = c(1,width(imgjpg3)),ylim = c(height(imgjpg3),1)) #显示图片
#提取图片颜色
df_color3 <- image_palette(imgjpg3,n=10)
show_col(df_color3)
image.png
image.png
##图4
imgjpg4 <- load.image("test4.jpg")#读取图片
plot(imgjpg4,xlim = c(1,width(imgjpg4)),ylim = c(height(imgjpg4),1)) #显示图片
#提取图片颜色
df_color4 <- image_palette(imgjpg4,n=10)
show_col(df_color4)
image.png
image.png

应用提取图片的颜色绘图

1、构造绘图数据
df<-data.frame(samples=c('a','b','c','d','e','f','g','h','i','j'),
               A=c(0.12,0.15,0.1,0.07,0.1,0.1,0.08,0.1,0.13,0.05),
               B=c(0.35,0.1,0.05,0.05,0.05,0.1,0.1,0.05,0.1,0.05),
               C=c(0.25,0.15,0.1,0.07,0.1,0.1,0.05,0.05,0.08,0.05),
               D=c(0.05,0.2,0.1,0.2,0.1,0.1,0.1,0.05,0.05,0.05))
#变量格式转换,宽数据转化为长数据,方便后续作图
df1 <- melt(df,id.vars = 'samples',measure.vars = c('A','B','C','D'))
names(df1)[1:2] <- c("group","X")  #修改列名
image.png
2、绘图
#绘图
p<-ggplot(df1, aes( x = X,y=100 * value,fill = group,
                 stratum = group, alluvium = group))+
  geom_stratum(width = 0.7, color='white')+
  geom_alluvium(alpha = 0.5,
                width = 0.7,
                color='white',
                size = 1,
                curve_type = "linear")+
  scale_y_continuous(expand = c(0,0))+
  labs(x="Samples",y="Relative Abundance(%)",
       fill="group")+
  theme_prism(palette = "candy_bright",
              base_fontface = "plain", 
              base_family = "serif", 
              base_size = 16, 
              base_line_size = 0.8, 
              axis_text_angle = 45)+ 
  theme(legend.position = 'top')
p
image.png
3、应用绘图颜色并拼图
#应用颜色
p2<-p+scale_fill_manual(values = df_color1)
p3<-p+scale_fill_manual(values = df_color2)
p4<-p+scale_fill_manual(values = df_color3)
p5<-p+scale_fill_manual(values = df_color4)
#拼图
cowplot::plot_grid(p2,p3,p4,p5,ncol = 2)
image.png
图片来源于网络(https://zhuanlan.zhihu.com/p/155963612),仅用于学习交流!

相关文章

  • R可视化——图片颜色提取及应用(以jpg格式图片为例)

    设置工作目录、加载R包 加载图片并提取颜色 1、图片加载及预览——jpg格式图片加载主要基于imager包中的lo...

  • 不同应用在PNG图片时的展示效果对比

    以png为例,当不同应用选择图片的时候展现方式各不一样。 相册选择png图片时,系统、钉钉预览以jpg格式预览,Q...

  • 图片格式的区别

    JPG GIF PNG 格式的区别 jpg格式 图片色彩丰富。色彩还原高,适合复杂颜色的图片。 比如banner;...

  • 网站图片优化技巧

    # 图片格式 图片尽量转成 jpg 格式,透明图转成 gif 格式 # 图片大小 减少图片的质量以减少大小,并通过...

  • 14 PS中的切图基本操作

    1.常见的图片格式 jpg图像格式:JPEG(JPG)对彩色的信息保留较好、高清,颜色较多,我们产品类的图片经常用...

  • JPG图片如何转换PDF格式

    一般我们使用图片格式对数为JPG的格式图片,但是要知道JPG图片并不适用于所有的工作场合,有时候需要PDF格式,这...

  • pdf转jpg的操作方法,你可以知道!

    jpg格式是非常常用的图片格式,我们可以自由编辑图片中的内容,更改图片的颜色,还能增添滤镜渲染图片效果。那么当我们...

  • pdf转换成jpg格式,这招很容易!

    pdf转换成jpg格式,这招很容易!有的时候为了办公需要,要将PDF图片提取出来,作为jpg格式来进行处理。那么...

  • iOS UIImageView

    jpg 格式转化 png png 格式转化 jpg 将GIF分解为一帧帧 并保存到沙盒中 编辑图片- 旋转图片然后...

  • PS前端切图 、快捷键

    切图,方法一 适用于无法选择图层的图片,如.png,.jpg格式的图片 切图:方法二 如果图片格式为psd格式图片...

网友评论

      本文标题:R可视化——图片颜色提取及应用(以jpg格式图片为例)

      本文链接:https://www.haomeiwen.com/subject/xxxgortx.html