主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

TransformedDatastore

基となるデータストアを変換するデータストア

説明

TransformedDatastoreオブジェクトを使用して,元のデータストアから読み取ったデータを変換または処理します。

作成

関数变换を使用してTransformedDatastoreオブジェクトを作成することができます。たとえば,dsnew =变换(ds1_data、ds2_data…dsN_data @fcn)で作成されるデータストアは,変換関数fcnを使用して1つ以上のデータストアds1_data、ds2_data…dsN_dataを変換します。

プロパティ

すべて展開する

基となるデータストア。数据存储オブジェクトの cell 配列として返されます。

変換関数のセット。関数ハンドルの cell 配列として指定します。

データ型:细胞

関数からの情報を含めるかどうか。逻辑ベクトルとして指定します。真正的をとるIncludeInfoの各値について,変換されるデータストアは,transformSet内の対応する変換関数の代替シグネチャを使用します。

関数は,抽出されたデータに関する情報を信息structに返します。詳細については,関数のページを参照してください。

データ型:逻辑

このプロパティは読み取り専用です。

書き込みでサポートされる形式のリスト。字符串の行ベクトルとして返されます。このプロパティは、writeallを使用してデータストアから出力ファイルを書き込む際に使用可能な出力形式を指定します。

データ型:字符串

オブジェクト関数

结合 複数のデータストアのデータを統合
hasdata データが読み取り可能かどうかを判別
预览 データストア内のデータのサブセットをプレビュー
データストアのデータの読み取り
readall データストアのすべてのデータの読み取り
writeall ファイルへのデータストアの書き込み
重置 データストアの初期状態へのリセット
变换 データストアの変換
numpartitions データストアの区画数
分区 データストアを分割する
洗牌 データストア内のすべてのデータをシャッフルする
isPartitionable データストアが分割可能かどうかを判別
isShuffleable データストアがシャッフル可能かどうかを判別

すべて折りたたむ

イメージの集合用のデータストアを作成し,そのデータストア内のすべてのイメージに同じ変換を適用します。たとえば,集合内のすべてのイメージを,指定したターゲットサイズに変更します。

2つのイメージを含むImageDatastoreを作成します。

imd = imageDatastore ({“street1.jpg”“peppers.png”})
/devel/bat/Bdoc20b/build/matlab/toolbox/matlab/demo /street1.jpg';/devel/bat/Bdoc20b/build/matlab/toolbox/matlab/imagesci/ peps .png'}文件夹:{'/mathworks/devel/bat/Bdoc20b/build/matlab/toolbox/matlab/demo ';'/mathworks/devel/bat/Bdoc20b/build/matlab/toolbox/matlab/imagesci'} alteratefilesystemroots: {} ReadSize: 1标签:{}Supported金宝appOutputFormats: ["png" "jpg" "jpeg" "tif" "tiff"] DefaultOutputFormat: "png" ReadFcn: @readDatastoreImage . txt . txt . txt . txt . txt . txt . txt

すべてのイメージを読み取ります。データストアには異なるサイズのイメージが含まれていることがわかります。

img1 =阅读(imd);%读取第一个映像img2 =阅读(imd);%读取下一个图像img1img2
名称大小字节类属性img1 480x640x3 921600 uint8 img2 384x512x3 589824 uint8

データストア内のすべてのイメージを,指定したターゲットサイズに変換します。

targetSize = [224224];imdsReSz = transform(imds,@(x) imresize(x,targetSize));

イメージを読み取ってそのサイズを表示します。

imgReSz1 =阅读(imdsReSz);imgReSz2 =阅读(imdsReSz);谁imgReSz1imgReSz2
名称大小字节类属性imgReSz1 224x224x3 150528 uint8 imgReSz2 224x224x3 150528 uint8

サイズ変更後のイメージを表示します。

次要情节(121);imshow (imgReSz1);轴;标题(“调整大小Street1.jpg”);次要情节(122);imshow (imgReSz2);轴;标题(“调整大小peppers.png”);

複数の数据存储オブジェクトを作成し,同じ変換をすべてのデータストアに適用します。たとえば,複数のイメージを1つの四角形内の整列イメージとして結合します。

1つのイメージをもつImageDatastoreを作成します。

imds1 = imageDatastore ({“ngc6543a.jpg”})
imds1 = ImageDatastore属性:文件 : { ' .../ 猛击/棒/ Bdoc20b /构建/ matlab工具箱/ matlab /演示/ ngc6543a.jpg '}文件夹:{' / mathworks /猛击/棒/ Bdoc20b /构建/ matlab工具箱/ matlab /演示'}AlternateFileSystemRoots: {} ReadSize: 1标签:{}SupportedOutputFormats:[“png”“jpg”“jpeg”“tif”“tiff金宝app”]DefaultOutputFormat:“png”ReadFcn:@readDatastoreImage

イメージをワークスペースに読み取り,元のイメージの各カラーチャネルからイメージファイルを作成します。

rgbImage = imread (“ngc6543a.jpg”);imwrite (rgbImage (:,: 1),“nebula_red.jpg”);imwrite (rgbImage (:,:, 2),“nebula_green.jpg”);imwrite (rgbImage (:: 3),“nebula_blue.jpg”);

各単一チャネルイメージのImageDatastoreオブジェクトを作成します。

imdsR = imageDatastore ({“nebula_red.jpg”});imdsG = imageDatastore ({“nebula_green.jpg”});imdsB = imageDatastore ({“nebula_blue.jpg”});

各データストアに格納されているイメージを読み取り,そのサイズを表示します。

imOriginal =阅读(imds1);img_red =阅读(imdsR);img_green =阅读(imdsG);img_blue =阅读(imdsB);谁img1img_redimg_greenimg_blue
名称大小字节类属性img_blue 650x600 390000 uint8 img_green 650x600 390000 uint8 img_red 650x600 390000 uint8

すべてのイメージを1つの四角形内の整列イメージに結合して,すべてのデータストアを変換します。imds1のカラーイメージをグレースケールに変換して,その次元を他のイメージの次元と一致させます。

tds1 = transform(imds1,imdsR,imdsG,imdsB, @(x1,x2,x3,x4) [rgb2gray(x1),x2;x3,x4]);瓦=阅读(tds1);

タイルイメージを表示します。

imshow(瓷砖)

R2019aで導入