Main Content

combine

여러 데이터저장소의 데이터 결합

설명

예제

dsnew = combine(ds1,ds2,...,dsN)은 입력 데이터저장소에 대한 read 함수에 의해 반환된 데이터를 사용하여 여러 데이터저장소를 결합하여 CombinedDatastore 객체를 생성합니다.

예제

dsnew = combine(ds1,ds2,...,dsN,ReadOrder=order)는 지정된 읽기 순서에 따라 여러 데이터저장소를 결합합니다. 읽기 순서에 따라 CombinedDatastore 객체를 생성할지 SequentialDatastore 객체를 생성할지 결정됩니다.

예제

모두 축소

기본 데이터저장소의 이미지 쌍 사이에 패리티를 유지하는 데이터저장소를 만듭니다. 예를 들어, 두 개의 개별 이미지 데이터저장소를 만든 다음 이 두 개의 이미지 데이터저장소에서 대응되는 이미지를 읽어 들이는 결합된 데이터저장소를 만듭니다.

3개의 이미지로 구성된 모음을 나타내는 데이터저장소 imds1을 만듭니다.

imds1 = imageDatastore({'street1.jpg','street2.jpg','peppers.png'}); 

imds1의 이미지를 회색조로 변환하여 두 번째 데이터저장소 imds2를 만듭니다.

imds2 = transform(imds1,@(x) im2gray(x));

imds1imds2에서 결합된 데이터저장소를 만듭니다.

imdsCombined = combine(imds1,imds2);

결합된 데이터저장소에서 첫 번째 이미지 쌍을 읽어 들입니다. 이 결합된 데이터저장소에서 읽기 작업을 수행할 때마다 1×2 형식의 셀형 배열로 표현되는 이미지 쌍이 반환됩니다.

dataOut = read(imdsCombined)
dataOut=1×2 cell array
    {480x640x3 uint8}    {480x640 uint8}

결합된 데이터저장소에서 첫 번째로 읽어 들인 출력값을 표시합니다.

imshow(imtile(dataOut));

Figure contains an axes object. The axes object contains an object of type image.

2개의 이미지 데이터저장소에서 하나씩 차례로 읽어 들이는 데이터저장소를 만듭니다.

2개의 이미지로 구성된 모음을 나타내는 ImageDatastore ds1을 만듭니다. 그런 다음 ds1의 이미지를 회색조로 변환하여 두 번째 ImageDatastore ds2를 만듭니다. ds1ds2를 결합하여 SequentialDatastore 객체를 만듭니다.

ds1 = imageDatastore(["peppers.png","street2.jpg"]); 
ds2 = transform(ds1,@(x) im2gray(x));
dsseq = combine(ds1,ds2,ReadOrder="sequential");

SequentialDatastore 객체에서 처음 3개 이미지를 읽어 들입니다. 이 SequentialDatastore 객체에서 읽기 작업을 수행할 때마다 1×1 형식의 셀형 배열로 표현되는 단일 이미지가 반환됩니다.

img1 = read(dsseq);
img2 = read(dsseq);
img3 = read(dsseq);

입력 인수

모두 축소

결합할 데이터저장소로, 두 개 이상의 쉼표로 구분된 datastore 객체로 지정됩니다. 내장된 데이터저장소의 전체 목록을 보려면 Select Datastore for File Format or Application 항목을 참조하십시오. 사용자 지정 데이터저장소를 지정할 수도 있습니다.

데이터를 읽는 순서로, "associated" 또는 "sequential"로 지정됩니다.

  • "associated"는 각각의 기본 데이터저장소에 대한 읽기 작업의 결과가 가로로 결합된 CombinedDatastore 객체를 생성합니다.

  • "sequential"은 결합 없이 기본 데이터저장소에서 순차적으로 읽는 SequentialDatastore 객체를 만듭니다.

확장 기능

버전 내역

R2019a에 개발됨

모두 확장