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));
imds1
과 imds2
에서 결합된 데이터저장소를 만듭니다.
imdsCombined = combine(imds1,imds2);
결합된 데이터저장소에서 첫 번째 이미지 쌍을 읽어 들입니다. 이 결합된 데이터저장소에서 읽기 작업을 수행할 때마다 1
×2
형식의 셀형 배열로 표현되는 이미지 쌍이 반환됩니다.
dataOut = read(imdsCombined)
dataOut=1×2 cell array
{480x640x3 uint8} {480x640 uint8}
결합된 데이터저장소에서 첫 번째로 읽어 들인 출력값을 표시합니다.
imshow(imtile(dataOut));
순차적으로 데이터저장소 결합하기
2개의 이미지 데이터저장소에서 하나씩 차례로 읽어 들이는 데이터저장소를 만듭니다.
2개의 이미지로 구성된 모음을 나타내는 ImageDatastore
ds1
을 만듭니다. 그런 다음 ds1
의 이미지를 회색조로 변환하여 두 번째 ImageDatastore
ds2
를 만듭니다. ds1
과 ds2
를 결합하여 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);
입력 인수
ds1,ds2,...,dsN
— 결합할 데이터저장소
datastore 객체
결합할 데이터저장소로, 두 개 이상의 쉼표로 구분된 datastore 객체로 지정됩니다. 내장된 데이터저장소의 전체 목록을 보려면 파일 형식 또는 애플리케이션에 맞는 데이터저장소 선택하기 항목을 참조하십시오. 사용자 지정 데이터저장소를 지정할 수도 있습니다.
order
— 데이터를 읽는 순서
"associated"
(디폴트 값) | "sequential"
데이터를 읽는 순서로, "associated"
또는 "sequential"
로 지정됩니다.
"associated"
는 각각의 기본 데이터저장소에 대한 읽기 작업의 결과가 가로로 결합된CombinedDatastore
객체를 생성합니다."sequential"
은 결합 없이 기본 데이터저장소에서 순차적으로 읽는SequentialDatastore
객체를 만듭니다.
확장 기능
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
스레드 기반 환경에서는 다음과 같은 데이터저장소에만
combine
함수를 사용할 수 있습니다.ImageDatastore
객체ImageDatastore
객체로부터combine
또는transform
을 사용하여 생성한CombinedDatastore
,SequentialDatastore
또는TransformedDatastore
객체
Parallel Computing Toolbox™가 있는 경우
combine
함수를 다른 데이터저장소에도 사용할 수 있습니다. 이렇게 하려면backgroundPool
또는ThreadPool
을 사용하는 대신 프로세스를 지원하는 병렬 풀을 사용하는 함수를 실행하십시오(ProcessPool
또는ClusterPool
사용).
자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2019a에 개발됨R2022b: 여러 데이터저장소에서 순차적으로 데이터를 읽어옴
결합 없이 여러 데이터저장소에서 순차적으로 데이터를 읽어옵니다.
참고 항목
CombinedDatastore
| SequentialDatastore
| read
| readall
| reset
| hasdata
| preview
| transform
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)