主要内容

이번역페이지는최신내용을담고있지않습니다。최신내용을문으로보려면여기를클릭하십시오。

imageDatastore

이미지데이터의데이터저장소

설명

개별이미지는메모리에맞지만전체이미지모음은메모리에맞지않을수있는이미지파일모음을관리하기위해ImageDatastore객체를사용합니다。imageDatastore함수를사용하여ImageDatastore객체를만들고그속성을지정한다음,객체함수를사용하여데이터를가져오고처리할수있습니다。

생성

설명

洛桑国际管理发展学院= imageDatastore (位置位置으로지정된이미지데이터모음에서洛桑国际管理发展学院데이터저장소를만듭니다。

예제

洛桑国际管理发展学院= imageDatastore (位置名称,值는하나이상의이름-값쌍의通讯录수를사용하여洛桑国际管理发展学院에대한추가파라미터와속성을지정합니다。

입력marketing수

모두 확장

데이터저장소에포함할파일또는폴더로,文件集객체,파일경로또는DsFileSet객체로지정됩니다。

  • 文件集객체-位置文件集객체로지정할수있습니다。위치를文件集객체로지정하면경로나DsFileSet객체로지정하는경우보다데이터저장소생성시간이빨라집니다。자세한내용은matlab.io.datastore.FileSet항목을참조하십시오。

  • 파일경로——문자형벡터나字符串형스칼라로하나의파일경로를지정할수있습니다。여러개의파일경로는문자형벡터로구성된셀형배열또는字符串형배열로지정하면됩니다。

  • DsFileSet객체-DsFileSet객체를지정할수있습니다。자세한내용은matlab.io.datastore.DsFileSet을참조하십시오。

파일이나폴더는로컬또는원격이될수있습니다。

  • 로컬파일또는폴더-파일또는폴더의로컬경로를지정합니다。파일이현재폴더에없는경우전체경로나상대경로를지정합니다。지정된폴더의하위폴더내에있는파일은데이터저장소에자동으로포함되지않습니다。로컬경로를지정할때에는와일드카드문자(*)를사용할수있습니다。이문자는모든일치하는파일또는일치하는폴더의모든파일을데이터저장소에포함하도록지정합니다。

  • 원격파일또는폴더-hdfs: / / /path_to_file형식의URL(统一资源定位器)을사용하여원격파일또는폴더의전체경로로지정합니다。자세한내용은원격데이터로작업하기항목을참조하십시오。

폴더를지정하면데이터저장소는지원되는파일형식의파일만포함하며그외다른형식의파일은무시합니다。데이터저장소에포함할파일확장자목록을사용자지정하려면FileExtensions속성을참조하십시오。

imageDatastore함수는imformats형식을갖는파일을지원합니다。

예:“file1.jpg”

예:“. . / dir /数据/ file1.png”

예:[" C: \ dir \ data \ file1.tif”,“C: \ dir \ data \ file2.tif”)

예:“C: \ dir \ \ * . jpg”数据

이름-값通讯录수

선택적으로名称,值수가쉼로구분되어지정됩니다。여기서的名字은수이름이고价值는대응값입니다。的名字은따옴。Name1, Value1,…,的家과같이여러개의이름-값쌍의通讯录수를어떤순서로든지정할수있습니다。

예:imds = imageDatastore("C:\dir\imagedata","FileExtensions",[".jpg",".tif"])

하위폴더포함플래그로,“IncludeSubfolders”와 함께真正的가이름-값通讯录수로지정됩니다。각폴더내에있는모든파일과하위폴더를포함하려면真正的를지정하고,각폴더내에있는파일만포함하려면를지정하십시오。

“IncludeSubfolders”를지정하지않은경우디폴트값은입니다。

예:“IncludeSubfolders”,真的

데이터형:逻辑|

이미지파일확장자로,“FileExtensions”와함께문자형벡터,문자형벡터로구성된셀형배열,字符串형스칼라또는字符串형배열이쉼표로구분되어지정됩니다。지정된확장자에는imformats형식이필하지않으며,빈따옴("")를사용하여확장자가없는파일을나타낼수있습니다。“FileExtensions”를지정하지않으면imageDatastore는지정된경로에서imformats확장자가있는모든이미지를자동으로포함합니다。imformats가식하지못하는확장자도포함시키려면모든확장자를지정하십시오。

예:“FileExtensions”、“jpg”

예:“FileExtensions”(jpg, png”)

데이터형:字符|细胞|字符串

파일시스템루트경로의대체경로로,“AlternateFileSystemRoots”와함께字符串형벡터또는셀형배열로구성된이름-값v3수로지정됩니다。로컬컴퓨터에데이터저장소를만들지만다른컴퓨터(다른운영체제의컴퓨터일수있음)의데이터에액세스하고이를처리해야하는경우“AlternateFileSystemRoots”를사용합니다。또한并行计算工具箱™와MATLAB®并行服务器™를사용하여데이터를처리하고,처리한데이터를다른플랫폼클라우드또는다른클러스터컴퓨터에있는데이터의복사본과함께로컬컴퓨터에저장할경우“AlternateFileSystemRoots”를사용하여루트경로를연결해야합니다。

  • 실질적으로서로동일한루트경로들의집합을연결하려면“AlternateFileSystemRoots”를字符串형벡터로지정하십시오。예를들면다음과같습니다。

    [" Z: \数据集”、“/ mynetwork /数据集”)

  • 데이터저장소에대한실질적으로동일한여러루트경로의집합을여러개연결하려면“AlternateFileSystemRoots”를여러행이포함된셀형배열로지정하십시오。여기서각행은실질적으로동일한루트경로들의집합하나를나타냅니다。셀형배열의각행을字符串형벡터또는문자형벡터로구성된셀형배열로지정합니다。예를들면다음과같습니다。

    • “AlternateFileSystemRoots”를字符串형벡터로구성된셀형배열로지정합니다。

      {[Z: \“数据集”、“/ mynetwork /数据集”);…[" Y: \数据集”、“/ mynetwork2 /数据集”、“年代:\数据集”)}

    • 또는“AlternateFileSystemRoots”를문자형벡터로구성된셀형배열로지정합니다。

      {{“Z: \数据集”、“mynetwork /数据集”},…{“Y: \数据集”,“mynetwork2 /数据集”,年代:\数据集的}}

“AlternateFileSystemRoots”의값은다음조건을충족해야합니다。

  • 하나이상의행을포함합니다。여기서각행은실질적으로동일한여러루트경로를지정합니다。

  • 각행은여러개의루트경로를지정하고,각루트경로는적어도두개의문자를포함해야합니다。

  • 루트경로는고유하며서로의하위폴더가아닙니다。

  • 파일의위치를가리키는적어도하나의루트경로항목을포함합니다。

자세한내용은为不同机器或集群上的处理设置数据存储항목을참조하십시오。

예:[" Z: \数据集”、“/ mynetwork /数据集”)

데이터형:字符串|细胞

레이블데이터를제공하는소스로,“LabelSource”와 함께“没有”또는“foldernames”로구성된이름-값通讯录수로지정됩니다。“没有”이지정되면标签속성은비어있게됩니다。“foldernames”가지정되면레이블이폴더이름에따라할당되고标签속성에저장됩니다。나중에标签속성에직접액세스하여레이블을수정할수있습니다。

FileSet객체를파일이나폴더위치로사용하는경우“LabelSource”이름-값通讯录수를사용할수없습니다。

데이터형:字符|字符串

이이름-값쌍외에도,이페이지의모든속성(단,文件속성은제외)을이름-값쌍으로지정할수있습니다。

속성

모두 확장

ImageDatastore속성은데이터를설명하고데이터저장소에서데이터를읽는방법을지정합니다。数据存储객체를만들때이름-값表수를사용하여ImageDatastore속성의값을지정할수있습니다。객체를만든후속성을보거나수정하려면점@ @기법을사용하십시오。

예를들어,다음과같이ImageDatastore객체를만들고“ReadFcn”파라미터를지정할수있습니다。

imds = imageDatastore(“peppers.png”“ReadFcn”, @customreader);
또는,다음과같이ImageDatastore를 만든 후“ReadFcn”@customreader에할당할수있습니다。
imds = imageDatastore(“peppers.png”);洛桑国际管理发展学院。ReadFcn = @customreader;

데이터저장소에포함된파일로,문자형벡터,문자형벡터로구성된셀형배열,字符串형스칼라또는字符串형배열로확인됩니다。각문자형벡터또는字符串형은파일에대한전체경로입니다。데이터저장소를만들때imageDatastore함수와数据存储함수에지정되는位置수에따라文件가정의됩니다。

예:{“C: \ dir \ data \ file1.jpg”;“C: \ dir \ data \ file2.jpg”}

데이터형:字符|细胞|字符串

이속성은읽기전용입니다。

데이터저장소를생성하는데사용된폴더로,문자형벡터로구성된셀형배열로반환됩니다。셀형배열은열벡터로방향이설정됩니다。각문자형벡터는데이터파일을포함하는폴더의경로입니다。데이터저장소를만들때imageDatastore함수와数据存储함수에지정되는位置수에따라文件夹가정의됩니다。

데이터형:细胞

함수호출시읽을이미지파일의개수로,양의정수스칼라로지정됩니다。함수를호출할때마다최대ReadSize개이미지를읽습니다。

데이터저장소에있는파일에대한파일레이블로,벡터,셀형배열또는字符串형배열로지정됩니다。배열에포함된레이블의순서는데이터저장소에포함된관련파일의순서와일치합니다。ImageDatastore객체를만들때“LabelSource”、“foldernames”를지정하면파일의레이블이름이파일을포함하는폴더의이름이됩니다。“LabelSource”、“foldernames”를지정하지않으면标签가빈셀형배열또는字符串형배열이됩니다。데이터저장소를만든후文件속성을변경하면标签속성은추가된파일을포함하도록자동으로업데이트되지않습니다。

데이터형:分类|细胞|逻辑|||字符串

이미지데이터를읽는함수로,함수핸들로지정됩니다。이함수는이미지파일이름을입력값으로받은다음대응하는이미지데이터를출력해야합니다。예를 들어customreader가이미지데이터를읽도록지정된함수인경우,이함수는다음과비슷한시그니처를가져야합니다。

函数data = customreader(filename)…结束
둘이상의출력수가존재할경우imageDatastore는첫번째수만사용하고나머지는무시합니다。

참고

ReadFcn을사용하여2차원이미지를변환하거나전처리하는것은권장되지않습니다。imformats에의해marketing식되는파일형식의경우,ReadFcn을지정하면imageDatastore의성능이느려집니다。이미지를변환하고전처리하는보다효율적방법은딥러닝을위해상전처리하기(深度学习工具箱)항목을참조하십시오。

예:@customreader

데이터형:function_handle

이속성은읽기전용입니다。

쓰기가지원되는형식목록으로,字符串형으로구성된행벡터로반환됩니다。이 속성은writeall을사용하여데이터저장소에서출력파일을쓸때가능한출력형식을지정합니다。

데이터형:字符串

이속성은읽기전용입니다。

디폴트출력형식으로,字符串형스칼라로반환됩니다。이 속성은writeall을사용하여데이터저장소에서출력파일을쓸때의디폴트형식을지정합니다。

데이터형:字符串

객체 함수

countEachLabel ImageDatastore레이블의파일개수계산
hasdata 데이터를읽을수있는지확
numpartitions 데이터저장소파티션개수
分区 데이터저장소파티셔닝
预览 데이터저장소에있는데이터의서브셋미리보기
데이터저장소의데이터읽어들이기
readall 데이터저장소의모든데이터읽기
readimage 데이터저장소에서지정된이미지읽기
writeall 将数据存储写入文件
重置 데이터저장소를초기상태로재설정
洗牌 데이터저장소의모든데이터읽기섞기
splitEachLabel 비율을기준으로ImageDatastore레이블분할
子集 创建数据存储或文件集的子集
变换 变换数据存储
结合 여러데이터저장소의데이터결합
isPartitionable 确定数据存储是否可分区
isShuffleable 确定数据存储是否可洗牌

예제

모두 축소

Matlab®경로와그하위폴더에있는모든.tif파일과연결된ImageDatastore객체를만듭니다。레이블이름으로폴더이름을사용합니다。

imds = imageDatastore(fullfile(matlabroot,“工具箱”“matlab”),...“IncludeSubfolders”,真的,“FileExtensions”“.tif”“LabelSource”“foldernames”
imd =ImageDatastore的属性:文件:{'…\matlab\toolbox\matlab\demos\example.tif';\matlab\toolbox\matlab\imagesci\corn.tif'}文件夹:{'…\matlab\toolbox\matlab'}标签:[demo;imagesci] AlternateFileSystemRoots: {} ReadSize: 1 金宝appSupportedOutputFormats: ["png" "jpg" "jpeg" "tif" "tiff"] DefaultOutputFormat: "png" ReadFcn: @readDatastoreImage

4개의이미지를포함하는文件集객체를만듭니다。ImageDatastore객체를생성합니다。

fs = matlab.io.datastore.FileSet([“street1.jpg”“street2.jpg”“peppers.png”“corn.tif”])
fs =带有属性的文件集:NumFiles: 4 NumFilesRead: 0 FileInfo:显示所有4个文件的FileInfo
imds = imageDatastore(fs)
imd =ImageDatastore的属性:文件:{'…\matlab\toolbox\matlab\demos\street1.jpg';’……\ matlab \ matlab工具箱\ \ demo \ street2.jpg”;\matlab\toolbox\matlab\imagesci\pepper .png{'…\matlab\toolbox\matlab\demos';“…\matlab\toolbox\matlab\imagesci'} AlternateFileSystemRoots: {} ReadSize: 1 Labels: {} S金宝appupportedOutputFormats: ["png" "jpg" "jpeg" "tif" "tiff"] DefaultOutputFormat: "png" ReadFcn: @readDatastoreImage

첫번째이미지를미리봅니다。

imshow(预览(imd));

두번째이미지와세번째이미지만한번에하나씩읽습니다。

I = 2:3 img = readimage(imds, I);结束

네개의이미지를모두읽고세번째이미지를봅니다。

Imgs = readall(imds);imshow(一个{3})

제한 사항

  • ReadFcn을사용하여2차원이미지를변환하거나전처리하는것은권장되지않습니다。imformats에의해marketing식되는파일형식의경우,ReadFcn을지정하면imageDatastore의성능이느려집니다。이미지를변환하고전처리하는보다효율적방법은딥러닝을위해상전처리하기(深度学习工具箱)항목을참조하십시오。

확장 기능

버전 내역

R2015b에개발됨