readall
데이터저장소의 모든 데이터 읽기
설명
예제
ImageDatastore의 모든 데이터 읽기
네 개의 이미지가 포함된 ImageDatastore
객체를 만듭니다.
imds = imageDatastore({'street1.jpg','street2.jpg','peppers.png','corn.tif'});
데이터저장소의 모든 데이터를 읽어 들입니다.
T = readall(imds);
출력값을 검토합니다.
imout = imtile(T); imshow(imout)
TabularTextDatastore의 모든 데이터를 병렬로 읽어 들이기
테이블 형식 데이터가 포함된 샘플 파일 airlinesmall_subset.csv
에서 데이터저장소를 만듭니다.
ds = tabularTextDatastore("airlinesmall_subset.csv",TreatAsMissing="NA");
SelectedVariableNames
속성을 사용하여 필요한 변수를 지정합니다.
ds.SelectedVariableNames = ["DepTime","ArrTime","ActualElapsedTime"];
데이터저장소의 모든 데이터를 병렬로 읽어 들입니다.
T = readall(ds,UseParallel=true);
readall
은 모든 데이터를 테이블로 반환합니다.
테이블에 대한 정보를 확인합니다. 선택한 변수만 출력값에 포함됩니다.
T.Properties
ans = TableProperties with properties: Description: '' UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {'DepTime' 'ArrTime' 'ActualElapsedTime'} VariableTypes: ["double" "double" "double"] VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames: {} CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
CombinedDatastore의 모든 데이터 읽기
기본 데이터저장소의 이미지 쌍 사이에 패리티를 유지하는 데이터저장소를 만듭니다. 예를 들어, 두 개의 개별 이미지 데이터저장소를 만든 다음 이 두 개의 기본 데이터저장소를 결합한 데이터저장소를 만듭니다.
3개의 이미지 모음을 나타내는 이미지 데이터저장소 imds1
을 만듭니다.
imds1 = imageDatastore({'street1.jpg','street2.jpg','peppers.png'});
imds1
의 이미지를 회색조로 변환한 다음 이미지의 크기를 줄여서 두 번째 데이터저장소 imds2
를 만듭니다.
imds2 = transform(imds1,@(x) imresize(im2gray(x),0.5));
imds1
과 imds2
에서 결합된 데이터저장소를 만듭니다.
imdsCombined = combine(imds1,imds2);
결합된 데이터저장소에서 모든 데이터를 읽어 들입니다. 출력값은 3×2 셀형 배열입니다. 두 개의 열은 두 개의 기본 데이터저장소 imds1
과 imds2
에서 읽어 들인 모든 데이터를 각각 나타냅니다.
dataOut = readall(imdsCombined)
dataOut=3×2 cell array
{480x640x3 uint8} {240x320 uint8}
{480x640x3 uint8} {240x320 uint8}
{384x512x3 uint8} {192x256 uint8}
입력 인수
ds
— 입력 데이터저장소
데이터저장소
입력 데이터저장소입니다. readall
메서드에는 다음과 같은 데이터저장소를 입력값으로 사용할 수 있습니다.
MATLAB® 데이터저장소 — MATLAB
datastore
함수를 사용하여 생성된 데이터저장소입니다. 예를 들어,ImageDatastore
를 사용하여 이미지 모음을 위한 데이터저장소를 생성합니다. 데이터저장소의 전체 목록을 보려면 파일 형식 또는 애플리케이션에 맞는 데이터저장소 선택하기 항목을 참조하십시오.결합되고 변환된 데이터저장소 —
combine
함수와transform
함수를 사용하여 생성된 데이터저장소입니다.사용자 지정 데이터저장소 — 사용자 지정 데이터저장소 프레임워크를 사용하여 생성된 데이터저장소입니다. Develop Custom Datastore 항목을 참조하십시오.
tf
— 병렬로 읽어 들이기
false(디폴트 값) | true
데이터를 병렬로 읽어 들이는 것으로, true
또는 false
로 지정됩니다. true
로 지정하면, readall
은 데이터저장소에서 모든 데이터를 병렬로 읽어 들입니다(Parallel Computing Toolbox 필요). 병렬로 읽어 들이면 데이터를 읽어올 때(특히 원격 데이터) 성능이 향상됩니다.
UseParallel
속성과 Parallel Computing Toolbox를 사용하여 데이터저장소 처리 성능을 향상할 수 있습니다.readall
은 스레드 기반 병렬 풀과 같은 낮은 오버헤드의 계산 환경을 사용하여 로컬 컴퓨터에서 지원되는 데이터저장소를 더 빠르게 읽어옵니다. 스레드 기반 병렬 풀에 대한 자세한 내용은parpool
(Parallel Computing Toolbox)을 참조하십시오.MATLAB의 내장 멀티스레딩의 결과로, 특정 데이터저장소(예:
imageDatastore
)는 MATLAB 워커 기반의 병렬 처리를 사용하지 않을 때 로컬 컴퓨터에서 더 빠르게 수행됩니다. 자세한 내용은 MATLAB Multicore 항목을 참조하십시오.
예: readall(ds,UseParallel=true)
출력 인수
data
— 데이터저장소의 모든 데이터
테이블 | 셀형 배열
데이터저장소의 모든 데이터로, ds
의 유형에 따라 테이블이나 셀형 배열로 반환됩니다.
데이터저장소 유형 | data 의 데이터형 | 설명 |
---|---|---|
TabularTextDatastore , SpreadsheetDatastore | 테이블 | SelectedVariableNames 속성은 테이블 변수를 지정합니다. |
ImageDatastore | 셀형 배열 | 셀형 배열의 각 요소는 하나의 이미지에 대한 이미지 데이터를 포함합니다. readall 함수는 imread 함수에서 지원되는 모든 이미지 유형을 지원합니다. 지원되는 이미지 유형에 대한 자세한 내용은 imread 를 참조하십시오. |
KeyValueDatastore | 테이블 | 테이블 변수 이름은 Key 와 Value 입니다. |
FileDatastore | 셀형 배열 | 셀형 배열의 각 요소는 ReadFcn 속성으로 지정된 사용자 지정 읽기 함수를 사용하여 하나의 파일에서 읽어 들인 데이터를 포함합니다. |
TransformedDatastore | 입력 데이터저장소와 변환 함수에 따라 달라짐 | TransformedDatastore 는 기본 데이터저장소에서 읽어 들이고, 연결된 변환 함수를 호출한 다음, 데이터를 세로로 결합합니다. 기본 데이터저장소가 균일하지 않고 이 데이터저장소의 데이터를 세로로 결합하고 싶으면 변환 함수 출력값을 중괄호로 묶으십시오. |
CombinedDatastore | 입력 데이터저장소에 따라 달라짐 | 기본 데이터저장소가 균일하면 해당 데이터를 아무런 수정 없이 다른 모든 데이터저장소의 데이터와 결합(가로 결합)합니다. 기본 데이터저장소가 균일하지 않으면 먼저 해당 데이터를 셀 안에 묶은 다음 다른 모든 데이터저장소의 데이터와 결합(가로 결합)합니다. |
SequentialDatastore | 입력 데이터저장소에 따라 달라짐 | 출력값은 기본 데이터저장소의 모든 데이터를 수직으로 결합한 결과입니다. 기본 데이터저장소가 모두 비어 있는 경우 출력값은 첫 번째 기본 데이터저장소를 기반으로 하는 빈 유형입니다. 기본 데이터저장소가 없는 경우 출력값은 빈 double형입니다. 기본 데이터저장소가 균일하면 해당 데이터를 아무런 수정 없이 다른 모든 데이터저장소의 데이터와 결합합니다. 기본 데이터저장소가 균일하지 않으면 먼저 해당 데이터를 셀 안에 묶은 다음 다른 모든 데이터저장소의 데이터와 결합합니다. |
확장 기능
자동 병렬 지원
Parallel Computing Toolbox™를 사용해 자동 병렬 계산을 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
병렬로 실행하려면
UseParallel
옵션을true
로 설정하십시오.
자세한 내용은 자동 병렬 연산을 지원하는 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
스레드 기반 환경에서는 다음과 같은 데이터저장소에만
readall
함수를 사용할 수 있습니다.ImageDatastore
객체ImageDatastore
객체로부터combine
또는transform
을 사용하여 생성한CombinedDatastore
,SequentialDatastore
또는TransformedDatastore
객체
Parallel Computing Toolbox가 있는 경우
readall
함수를 다른 데이터저장소에도 사용할 수 있습니다. 이렇게 하려면backgroundPool
또는ThreadPool
을 사용하는 대신 프로세스를 지원하는 병렬 풀을 사용하는 함수를 실행하십시오(ProcessPool
또는ClusterPool
사용).readall
함수는 스레드 기반 환경에서 다음과 같은 이미지 형식을 지원하지 않습니다.HDF(Hierarchical Data Format)
SVS
TIFF
자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2014b에 개발됨
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)