主要内容

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

变换

データ ストアの変換

説明

dsnew=变换(ds1, ds2,…,dsN,@fcn)は,変換関数fcnを使用して1つ以上の入力データストアを変換し,変更されたデータストアdsnewを返します。fcnは,関数变换への呼び出しのすべての入力データストアの前または後に配置できます。

dsnew=变换(ds1, ds2,…,dsN,@fcn“IncludeInfo”,IncludeInfo)は,変換関数fcnの代替定義を使用します。代替定義により、関数で返されたデータ ストアの追加情報を使用できるようになります。

すべて折りたたむ

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

2.つのイメージを含む图像数据存储を作成します。

imds=图像数据存储({“street1.jpg”,“peppers.png”})
imds=ImageDatastore,具有以下属性:文件:{'/devel/bat/Bdoc21a/build/matlab/toolbox/matlab/demos/street1.jpg';'/devel/bat/Bdoc21a/build/matlab/toolbox/matlab/imagesi/peppers.png'}文件夹:{'/mathworks/devel/bat/Bdoc21a/build/matlab/toolbox/matlab/matlab/demos';'/mathworks/devel/bat/Bdoc21a/build/matlab/toolbox/imagesi'}AlternateFileSystemRoots:{}ReadSize:1标签:{}支持的输出格式:[“png”“jpg”“jpeg”“tif”“tiff”]DefaultOutpu金宝apptFormat:“png”ReadFcn:@readDatastoreImage

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

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

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

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

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

imgReSz1=read(imdsReSz);imgReSz2=read(imdsReSz);whosimgReSz1imgReSz2
名称大小字节类属性imgReSz1 224x224x3 150528 uint8 imgReSz2 224x224x3 150528 uint8

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

子地块(121);imshow(imgReSz1);轴;标题(“调整大小Street1.jpg”)子地块(122);imshow(imgReSz2);轴;标题('调整大小的peppers.png');

图中包含2个轴。标题大小为Street1.jpg的轴1包含image类型的对象。标题大小为peppers.png的轴2包含image类型的对象。

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

1.つのイメージをもつ图像数据存储を作成します。

imds1=图像数据存储({“ngc6543a.jpg”})
imds1=ImageDatastore with properties:Files:{'/devel/bat/Bdoc21a/build/matlab/toolbox/matlab/demos/ngc6543a.jpg'}文件夹:{'/mathworks/devel/bat/Bdoc21a/build/matlab/toolbox/matlab/demos'}可选文件系统根:{}ReadSize:1标签:{}支持的输出格式:[“png”“jpg”“jpg”“tif”“tif”]默认输出格式:“png金宝app”ReadFcn:@readDatastoreImage

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

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

各単一チャネル イメージの图像数据存储オブジェクトを作成します。

imdsR=图像数据存储({“星云红,jpg”});imdsG=图像数据存储({“nebula_green.jpg”}); imdsB=图像数据存储({“nebula_blue.jpg”});

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

img原始=读取(imds1);img_红色=读取(imdsR);img_绿色=读取(imdsG);img_蓝色=读取(imdsB);WHOimg1img_红伊姆古格林img_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(瓷砖)

图中包含一个轴。这些轴包含一个image类型的对象。

入力引数

すべて折りたたむ

入力データストア。組み込みデータ ストアの完全な一覧は、ファイル形式またはアプリケーション用のデータ ストアの選択を参照してください。カスタム データストアも指定できます。

データを変換する関数。関数ハンドルとして指定します。関数はデータを入力として受け取り、fcnに定義された変換に基づいて変換したデータを返します。

変換関数には次のシグネチャが必要であり,ds1_data、ds2_data…dsN_dataは,関数を使用して返されるデータと同じ形式でなければなりません。

函数dataOut=transformFcn(ds1\U数据、ds2\U数据、,...dsN_data)..终止

あるいは,関数で返されるデータに関する追加情報を使用するように、変換関数fcnを定義できます。この代替定義を使用するには、IncludeInfoの値を真正的に指定しなければなりません。この場合,変換関数には次のシグネチャが必要です。

函数[dataOut,infoOut]=transformFcn(ds1\U数据,ds2\U数据,...dsN_数据、ds1_信息、ds2_信息…dsN_信息)..终止

例:@变换

データ型:功能手柄

関数からの情報を含めるかどうか。真正的または错误的として指定します。関数は,抽出されたデータに関する情報を信息结构に返します。詳細については、関数のページを参照してください。

IncludeInfoの値を真正的に設定した場合は,変換関数fcnの代替シグネチャを使用しなければなりません。

出力引数

すべて折りたたむ

変換後のデータを含む新しいデータ ストア。TransformedDatastoreオブジェクトとして返されます。

R2019aで導入