ImageDatastore内の画像をtransformを用いてコントラスト変換し表示する方法
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
拓 青柳
el 22 de Oct. de 2022
Comentada: 拓 青柳
el 23 de Oct. de 2022
深層学習を用いたX線画像の2クラス分類を行っております。
imdsTrainは1×1 ImageDatastoreとして定義されており、以下のコードによってコントラスト変換及び変換後の画像を表示しようとしましたがエラーが生じてしまいます。ご教示ください。
%%
imdsTrainnew = transform(imdsTrain,@(x) imadjust(x,[0.1 0.1 0.1; 0.9 0.9 0.9],[]));
%%
minibatch = read(imdsTrainnew);
imshow(imtile(minibatch.input))
使い方によるエラー matlab.io.datastore.TransformedDatastore/read
データストアに定義されている変換関数が無効です。
エラー: untitled3 (行 5)
minibatch = read(imdsTrainnew);
原因:
使い方によるエラー imadjust>checkRange
関数 imadjust を 2 要素のベクトルにするには、
その second 入力引数に [LOW_IN; HIGH_IN] が必要です。
>>
0 comentarios
Respuesta aceptada
Atsushi Ueno
el 22 de Oct. de 2022
imadjust関数の第1引数に入力可能な「グレースケールイメージ・RGBイメージ・カラーマップ」の内、
imadjust関数の第2引数に入力する [low_in high_in] — 入力イメージのコントラストの範囲が[low_RGB_triplet; high_RGB_triplet] 形式の 2 行 3 列の行列である事が許されないのは「グレースケールイメージ」だけです。
imdsTrain内の画像イメージに少なくとも1つのグレースケールイメージが含まれているはずです。その場合、imadjust関数の第2引数に入力する [low_in high_in]は2 行 3 列の行列ではなく1 行 2 列のベクトルでなければなりません。
imadjust(x,[0.1 0.9],[])
2 comentarios
Atsushi Ueno
el 22 de Oct. de 2022
>RGB イメージまたはカラーマップで 1 行 2 列のベクトルを指定する場合、imadjust は色平面またはチャネルごとに同じ調整を適用します。
なので、もしimdsTrain内の画像イメージにRGBイメージが混在していても1 行 2 列のベクトルで同じ動作になります。もしRGBのチャネル毎に異なるコントラスト調整をする場合はこの限りではありません。
imadjust(x,[0.1 0.1 0.1; 0.9 0.9 0.9],[])
imadjust(x,[0.1 0.9],[]) % 上記と下記は同じ
Más respuestas (0)
Ver también
Categorías
Más información sobre コントラストの調整 en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!