Rで解析:画像処理に役に立つかも「OpenImageR」パッケージ


「magick」パッケージがあれば必要ないかもしれませんが画像処理の1つの手段として紹介です。

・「magick」パッケージの紹介
 https://www.karada-good.net/analyticsr/r-531/
 
なお、使用した画像は2017年1月7日から放送している「亜人ちゃんは語りたい」の公式Twitterロゴです。登場人物の表情が豊かでほっこりしたい方におススメな内容です。なお、Amazonプライムでも視聴可能です。

・亜人ちゃんは語りたい公式サイト
 http://demichan.com/

パッケージバージョンは1.0.3。windows 10のR version 3.3.2で動作を確認しています。

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("OpenImageR")

実行コマンドの紹介

詳細はコマンド、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("OpenImageR")

#jpeg,png,tiffファイルの読み込み:readImageコマンド
#ファイルを指定
library("tcltk")
Path <- paste0(as.character(tkgetOpenFile(title = "画像ファイルを選択", filetypes = '{"画像ファイル" {".*"}}', initialfile = c("*.*")))) ImageTest <- readImage(Path) #画像サイズを確認 dim(ImageTest) [1] 400 400 3 #画像を表示:imageShowコマンド imageShow(file_path = ImageTest) #作業フォルダに画像を書き出し:writeImageコマンド #jpeg,png,tiffファイルの指定が可能,ファイル名で指定 writeImage(data = ImageTest, file_name = "Test.tiff") #グレースケール化:rgb_2grayコマンド GrayImage <- rgb_2gray(RGB_image = ImageTest) imageShow(file_path = GrayImage) #切り抜き: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) #反転:flipImageコマンド #向きを指定:modeオプション;horizontal:水平,vertical:垂直 FlipTest <- flipImage(image = ImageTest, mode = "vertical") imageShow(file_path = FlipTest) #回転:rotateImageコマンド #保管方法の指定:methodオプション;nearest,bilinearの指定が可能 #回転後のサイズ:modeオプション;same:処理前と同じ,full:元サイズ内に収める RotateTest <- rotateImage(image = ImageTest, angle = 45, method = "bilinear", mode = "full") imageShow(file_path = RotateTest) #エッジの抽出: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) #ガンマ値の調整:gamma_correctionコマンド GammaTest <- gamma_correction(image = ImageTest, gamma = 1) imageShow(file_path = GammaTest) #モルフォロジ処理:delationErosionコマンド #処理方法の指定:methodオプション;delation,erosionの指定が可能 #処理範囲を指定:Filterオプション DelationTest <- delationErosion(image = ImageTest, Filter = c(4, 4), method = "erosion") imageShow(file_path = DelationTest) [/code]

出力例

・画像を表示:imageShowコマンド

・グレースケール化:rgb_2grayコマンド

・切り抜き:cropImageコマンド

・反転:flipImageコマンド

・回転:rotateImageコマンド

・エッジの抽出:edge_detectionコマンド

・モルフォロジ処理:delationErosionコマンド


あなたの解析がとっても楽になりますように!!

スポンサードリンク

関連コンテンツ


スポンサードリンク