画像からカラーパレットを取得するコマンドだけでなく、hex RGB、hsl、hsv、lab、rgbそしてxyzを他カラーシステムに変換するコマンドが収録されたパッケージの紹介です。
パッケージのバージョンは0.3.0。windows 11のR version 4.4.1で確認しています。
パッケージのインストール
下記コマンドを実行してください。
# パッケージのインストール
install.packages("schemr")
実行コマンド
詳細はコメントやコマンドヘルプを確認してください。
# パッケージの読み込み
library("schemr")
### 画像ファイルの準備 #####
# 画像例を作業フォルダにダウンロード
download.file('https://www.karada-good.net/wp/wp-content/uploads/2022/08/TEST.jpg',
'KARADA.jpg', mode = 'wb')
# 画像例を指定
library("tcltk")
Path <- paste0(as.character(tkgetOpenFile(title = "画像ファイルを選択",
filetypes = '{"画像ファイル" {".*"}}',
initialfile = c("*.*"))))
########
# 画像からカラーパレットを作成:image_to_palletteコマンド
# 画像を指定:image_pathオプション
# 画像の拡大,縮小設定:resize_factorオプション;初期値:NULL;1で等倍,大きい処理は時間がかかります
# superpixel化の手法設定:methodオプション;"slic"/"slico"
# 使用するsuperpixelの数:superpixelオプション;初期値:200
# コンパクトネスパラメータの設定:compactnessオプション;初期値:20
# 処理内容をコンソールに表示:verboseオプション;TRUE/FALSE
# カラースペースの指定:colour_spaceオプション;"sRGB"/"Adobe"
Get_Col_Value <- image_to_pallette(image_path = Path,
resize_factor = 1,
method = "slic",
superpixel = 200,
compactness = 20,
verbose = FALSE,
colour_space = "sRGB")
# 確認
Get_Col_Value
[1] "#a75552" "#753937" "#bcb7a3" "#7f7f7d" "#68686c" "#303038" "#464774" "#b2a47b" "#4c4a45"
# カラーパレットをプロット:paletteコマンド
palette(Get_Col_Value)
### 以下のコマンドへのデータはデータフレームもしくはマトリックスで指定します ###
# RGBをhexに変換:rgb_to_hexコマンド
rgb_to_hex(rgb = data.frame(r = 240, g = 240, b = 240))
[1] "#f0f0f0"
# RGBをhslに変換:rgb_to_hslコマンド
rgb_to_hsl(rgb = data.frame(r = 240, g = 240, b = 240))
# hは0?
# A tibble: 1 × 3
# h s l
# <dbl> <dbl> <dbl>
#1 NA 0 0.941
# RGBをhsvに変換:rgb_to_hsvコマンド
rgb_to_hsv(rgb = data.frame(r = 240, g = 240, b = 240))
# hは0?
# A tibble: 1 × 3
# h s v
# <dbl> <dbl> <dbl>
#1 NA 0 0.941
# RGBをlabに変換:rgb_to_labコマンド
rgb_to_lab(rgb = data.frame(r = 240, g = 240, b = 240),
transformation = "Adobe")
# A tibble: 1 × 3
# l a b
# <dbl> <dbl> <dbl>
# 1 95.0 -0.00555 -0.0128
# RGBをxyzに変換:rgb_to_xyzコマンド
rgb_to_xyz(rgb = data.frame(r = 240, g = 240, b = 240),
transformation = "Adobe")
# A tibble: 1 × 3
# x y z
# <dbl> <dbl> <dbl>
#1 83.2 87.5 95.3
### 以下コマンドを紹介
## hexを変換
# hex_to_labコマンド
# hex_to_rgbコマンド
# hex_to_xyzコマンド
## hslを変換
# hsl_to_hsvコマンド
# hsl_to_labコマンド
# hsl_to_rgbコマンド
# hsl_to_xyzコマンド
## hsvを変換
# hsv_to_hslコマンド
# hsv_to_labコマンド
# hsv_to_rgbコマンド
# hsv_to_xyzコマンド
## labを変換
# lab_to_hexコマンド
# lab_to_hslコマンド
# lab_to_hsvコマンド
# lab_to_rgbコマンド
# lab_to_xyzコマンド
## xyzを変換
# xyz_to_hexコマンド
# xyz_to_hslコマンド
# xyz_to_hsvコマンド
# xyz_to_labコマンド
# xyz_to_rgbコマンド
実行例
・カラーパレットをプロット:paletteコマンド
少しでも、あなたの解析が楽になりますように!!