主要内容

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

变换

デ,タストアの変換

説明

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

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

すべて折りたたむ

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

2 .ImageDatastoreを作成します。

imds = imageDatastore({“street1.jpg”“peppers.png”})
imds = ImageDatastore属性:Files:{'…/devel/bat/Bdoc21b/build/matlab/toolbox/matlab/demos/street1.jpg';文件夹:{'/mathworks/devel/bat/Bdoc21b/build/matlab/toolbox/matlab/ imagesci/椒椒水.png';'/mathworks/devel/bat/Bdoc21b/build/matlab/toolbox/matlab/imagesci'} AlternateFileSystemRoots: {} ReadSize: 1 Labels: {} S金宝appupportedOutputFormats: ["png" "jpg" "jpeg" "tif" "tiff"] DefaultOutputFormat: "png" ReadFcn: @readDatastoreImage

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

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

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

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

@ @ @ @ @ @ @ @ @ @ @ @ @ @。

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

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

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

图中包含2个轴对象。标题为Resized Street1.jpg的Axes对象1包含一个image类型的对象。标题为Resized peppers.png的坐标轴对象2包含一个image类型的对象。

複数の数据存储オブジェクトを作成し,同じ変換をすべてのデ,タストアに適用します。。

1ImageDatastoreを作成します。

imds1 = imageDatastore({“ngc6543a.jpg”})
imds1 = ImageDatastore,具有属性:文件:{`…/devel/bat/ build/matlab/toolbox/matlab/demos/ngc6543a.jpg `}文件夹:{` /mathworks/devel/bat/Bdoc21b/build/matlab/toolbox/matlab/demos `} AlternateFileSystemRoots: {} ReadSize: 1标签:{}SupportedOutputFormats: ["png" "jpg" "jp金宝appeg" "tif" "tiff"] 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 = read(imds1);img_red = read(imdsR);img_green = read(imdsG);img_blue = read(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]);Tile = read(tds1);

タ@ @ル@ @メ@ @ジを表示します。

imshow(瓷砖)

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

入力引数

すべて折りたたむ

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

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

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

函数dataOut = transformFcn(ds1_data,ds2_data, ds2_data,...dsN_data)..结束

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

函数[dataOut,infoOut] = transformFcn(ds1_data,ds2_data, ds2_data,...dsN_data、ds1_info ds2_info…dsN_info)..结束

例:@transformFcn

デ,タ型:function_handle

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

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

出力引数

すべて折りたたむ

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

拡張機能

バ,ジョン履歴

R2019aで導入