KMeansを利用して画像からカラーパレットを作成するパッケージの紹介です。画像はパソコンに保存されている保存場所だけでなく、URLでも指定できます。なお、画像のフォーマットは「jpeg」、「png」は確認しました。他フォーマットの画像は試していません。
パッケージバージョンは0.1.3。実行コマンドはwindows 11のR version 4.1.3で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
install.packages("MakeYourPalette")
実行コマンド
詳細はコマンド、各パッケージのヘルプを確認してください。
・参考画像:https://www.karada-good.net/wp/wp-content/uploads/2022/06/IMG_8456-320×427.jpg

#パッケージの読み込み
library("MakeYourPalette")
library("tcltk")
#参考:パソコン保存の画像ファイルを読み込み
Image <- paste0(as.character(tkgetOpenFile(title = "画像を選択",
filetypes = '{"画像ファイル" {".jeg"}}',
initialfile = "*.*")))
#画像からカラーパレットを作成:MakePaletteコマンド
#画像を指定:photoオプション
#作成パレット数:nオプション
GetCol <- MakePalette(photo = Image, n = 8)
#URLで指定
#GetCol <- MakePalette("https://www.karada-good.net/wp/
#wp-content/uploads/2022/06/IMG_8456-320x427.jpg", n = 4)
#確認:コンソールに色付きで表示されます
GetCol
<colors>
#1F2E31FF #102C0BFF #C3D3E5FF #5A6669FF #5C5A42FF
#BEBBACFF #59454BFF #789AC7FF
###おまけ:カラーパレットをggplot2で表示#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
#データを準備
ColData <- tibble(ColCode = factor(GetCol, levels = GetCol))
#プロット
ggplot(ColData, aes(x = ColCode, fill = ColCode, label = ColCode)) +
geom_bar() + geom_text(y = .5, angle = 90, color = "red", size = 10) +
scale_fill_manual(values = levels(ColData$ColCode),
guide = "none") +
theme_void()
出力例
・おまけ:カラーパレットをggplot2で表示

・例えば、近くにあった「クロレラ」からカラーパレットを作成


少しでも、あなたの解析が楽になりますように!!