「magick」パッケージ以外の画像処理に役に立つかもしれないパッケージの紹介です。基本的なコマンドを紹介します。画像のリサイズや回転、切り抜きが可能です。画像はjpeg,png,tiffファイルの処理が可能です。
・「magick」パッケージの紹介
https://www.karada-good.net/analyticsr/r-531/
パッケージバージョンは1.2.3。実行コマンドはwindows 11のR version 4.2.1で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("OpenImageR")
実行コマンド
詳細はコマンド、パッケージのヘルプを確認してください。
画像例:https://www.karada-good.net/wp/wp-content/uploads/2022/08/TEST.jpg
![](https://www.karada-good.net/wp/wp-content/uploads/2022/08/TEST.jpg)
参考までにケトルベルとダンベルのAmazonアソシエイトです。パフォーマンスを発揮するには体が資本です。ケトルベルとダンベルも「からだにいいもの」でおすすめの道具です。
#パッケージの読み込み library("OpenImageR") ###画像ファイルの準備##### #画像例を作業フォルダにダウンロード 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("*.*")))) ######## #jpeg,png,tiffファイルの読み込み:readImageコマンド ImageTest <- readImage(Path) #画像を表示:imageShowコマンド imageShow(file_path = ImageTest, clear_viewer = TRUE) #画像サイズを確認 dim(ImageTest) [1] 319 425 3 #作業フォルダに画像を書き出し:writeImageコマンド #jpeg,png,tiffファイルの指定が可能,ファイル名で指定 writeImage(data = ImageTest, file_name = "Test.tiff") #グレースケール化:rgb_2grayコマンド GrayImage <- rgb_2gray(RGB_image = ImageTest) imageShow(file_path = GrayImage, clear_viewer = TRUE) #切り抜き:cropImageコマンド #幅を指定:new_widthオプション #高さを指定:new_heightオプション #範囲を指定:typeオプション;equal_spaced:画像の中心から指定,user_defined:範囲を指定 CropTest <- cropImage(image = ImageTest, new_width = 200:300, new_height = 200:300, type = "user_defined") imageShow(file_path = CropTest, clear_viewer = TRUE) #反転:flipImageコマンド #向きを指定:modeオプション;horizontal:水平,vertical:垂直 FlipTest <- flipImage(image = ImageTest, mode = "vertical") imageShow(file_path = FlipTest, clear_viewer = TRUE) #回転:rotateImageコマンド #保管方法の指定:methodオプション;nearest,bilinearの指定が可能 #回転後のサイズ:modeオプション;same:処理前と同じ,full:元サイズ内に収める RotateTest <- rotateImage(image = ImageTest, angle = 45, method = "bilinear", mode = "full") imageShow(file_path = RotateTest, clear_viewer = TRUE) #エッジの抽出:edge_detectionコマンド #抽出方法の指定:methodオプション;Frei_chen,LoG,Prewitt, #Roberts_cross,Scharr,Sobelの指定が可能 #その他設定はヘルプを参照 EdgeTest <- edge_detection(image = ImageTest, method = "Frei_chen", conv_mode = "full") imageShow(file_path = EdgeTest, clear_viewer = TRUE) #画像のリサイズ:resizeImageコマンド #リサイズ方法の指定:methodオプション;nearest,bilinear #その他設定はヘルプを参照 ResizeTest <- resizeImage(image = ImageTest, width = 100, height = 100, method = 'bilinear') imageShow(file_path = ResizeTest, clear_viewer = TRUE) #ガウシアぼかしでダウンサンプリング:down_sample_imageコマンド #factorオプション;1以上で指定 #gaussian_blurオプション;TRUE/FALSE DownSampleTest <- down_sample_image(image = ImageTest, factor = 1.2, gaussian_blur = TRUE) imageShow(file_path = DownSampleTest, clear_viewer = TRUE) #ガンマ値の調整:gamma_correctionコマンド GammaTest <- gamma_correction(image = ImageTest, gamma = 1) imageShow(file_path = GammaTest, clear_viewer = TRUE) #モルフォロジ処理:delationErosionコマンド #処理方法の指定:methodオプション;delation,erosionの指定が可能 #処理範囲を指定:Filterオプション DelationTest <- delationErosion(image = ImageTest, Filter = c(4, 4), method = "erosion") imageShow(file_path = DelationTest, clear_viewer = TRUE)
出力例
・グレースケール化:rgb_2grayコマンド
![](https://www.karada-good.net/wp/wp-content/uploads/2017/01/3611ff9a-5098-46af-9cf3-e00a61149859.png)
・切り抜き:cropImageコマンド
![](https://www.karada-good.net/wp/wp-content/uploads/2017/01/4547a605-75e4-4374-909a-eb8f0bc43de8.png)
・反転:flipImageコマンド
![](https://www.karada-good.net/wp/wp-content/uploads/2017/01/3117ac40-f48d-42ae-a6f2-6b6b50d37b42.png)
・回転:rotateImageコマンド
![](https://www.karada-good.net/wp/wp-content/uploads/2017/01/cd4bd875-779f-4182-9cf4-3c6185aa0be6.png)
・エッジの抽出:edge_detectionコマンド
![](https://www.karada-good.net/wp/wp-content/uploads/2017/01/ea46e0bb-15a2-4b2f-b42a-489797de56a6.png)
・画像のリサイズ:resizeImageコマンド;width = 100, height = 100
![](https://www.karada-good.net/wp/wp-content/uploads/2022/08/686fd6b4-19c5-435f-babe-c4928a572748-150x150.png)
・ガウシアぼかしでダウンサンプリング:down_sample_imageコマンド
![](https://www.karada-good.net/wp/wp-content/uploads/2022/08/3fee9db2-a908-425c-8090-4a9f42553f65.png)
・モルフォロジ処理:delationErosionコマンド
![](https://www.karada-good.net/wp/wp-content/uploads/2017/01/145eb5d8-d639-48e7-8cc0-3f29d830b406.png)
少しでも、あなたの解析が楽になりますように!!