이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
TransformedDatastore
설명
TransformedDatastore
객체를 사용하여 기본 데이터저장소에서 읽어 들인 데이터를 변환하거나 처리합니다.
생성
transform
함수를 사용하여 TransformedDatastore
객체를 만들 수 있습니다. 예를 들어, dsnew = transform(ds1_data,ds2_data,...dsN_data,@fcn)
은 변환 함수 fcn
을 사용하여 하나 이상의 데이터저장소 ds1_data,ds2_data,...dsN_data
를 변환하는 데이터 저장소를 만듭니다.
속성
UnderlyingDatastores
— 기본 데이터저장소
datastore 객체로 구성된 셀형 배열
기본 데이터저장소로, datastore 객체로 구성된 셀형 배열로 반환됩니다.
Transforms
— 변환 함수 집합
셀형 배열
변환 함수 집합으로, 함수 핸들로 구성된 셀형 배열로 지정됩니다.
데이터형: cell
IncludeInfo
— read
함수의 정보 포함
논리형 벡터
read
함수의 정보를 포함합니다. 논리형 벡터로 지정됩니다. true
로 지정된 IncludeInfo
의 각 값에 대해, 변환된 데이터저장소는 transformSet
의 대응하는 변환 함수의 대체 시그니처를 사용합니다.
read
함수는 info
구조체의 추출된 데이터에 대한 정보를 반환합니다. 자세한 내용은 read
함수 도움말 페이지를 참조하십시오.
데이터형: logical
SupportedOutputFormats
— 쓰기가 지원되는 형식
string형 행 벡터
읽기 전용 속성입니다.
쓰기가 지원되는 형식으로, string형으로 구성된 행 벡터로 반환됩니다. 이 속성은 writeall
을 사용하여 데이터저장소에서 출력 파일을 쓸 때 가능한 출력 형식을 지정합니다.
객체 함수
combine | 여러 데이터저장소의 데이터 결합 |
hasdata | 데이터를 읽을 수 있는지 확인 |
preview | 데이터저장소에 있는 데이터의 서브셋 미리보기 |
read | 데이터저장소의 데이터 읽어 들이기 |
readall | 데이터저장소의 모든 데이터 읽기 |
writeall | Write datastore to files |
reset | 데이터저장소를 초기 상태로 재설정 |
transform | 데이터저장소 변환 |
numpartitions | 데이터저장소 파티션 개수 |
partition | 데이터저장소 파티셔닝 |
shuffle | 데이터저장소의 모든 데이터 읽기 섞기 |
isPartitionable | Determine whether datastore is partitionable |
isSubsettable | Determine whether datastore is subsettable |
isShuffleable | Determine whether datastore is shuffleable |
예제
이미지 모음에 변환 적용하기
이미지 모음을 위한 데이터저장소를 만들고 데이터저장소의 모든 이미지에 동일한 변환을 적용합니다. 예를 들어, 모음에 있는 모든 이미지의 크기를 지정된 대상 크기로 조정합니다.
두 개의 이미지가 있는 ImageDatastore
를 만듭니다.
imds = imageDatastore({'street1.jpg','peppers.png'})
imds = ImageDatastore with properties: Files: { ' .../devel/bat/Bdoc22b/build/matlab/toolbox/matlab/demos/street1.jpg'; ' .../devel/bat/Bdoc22b/build/matlab/toolbox/matlab/imagesci/peppers.png' } Folders: { '/mathworks/devel/bat/Bdoc22b/build/matlab/toolbox/matlab/demos'; '/mathworks/devel/bat/Bdoc22b/build/matlab/toolbox/matlab/imagesci' } AlternateFileSystemRoots: {} ReadSize: 1 Labels: {} SupportedOutputFormats: ["png" "jpg" "jpeg" "tif" "tiff"] DefaultOutputFormat: "png" ReadFcn: @readDatastoreImage
모든 이미지를 읽어 들입니다. 데이터저장소에 서로 다른 크기의 이미지가 포함되어 있음을 확인할 수 있습니다.
img1 = read(imds); % reads the first image img2 = read(imds); % reads the next image whos img1 img2
Name Size Bytes Class Attributes img1 480x640x3 921600 uint8 img2 384x512x3 589824 uint8
데이터저장소의 모든 이미지를 지정된 대상 크기로 변환합니다.
targetSize = [224,224]; imdsReSz = transform(imds,@(x) imresize(x,targetSize));
이미지를 읽어 들이고 크기를 표시합니다.
imgReSz1 = read(imdsReSz); imgReSz2 = read(imdsReSz); whos imgReSz1 imgReSz2
Name Size Bytes Class Attributes imgReSz1 224x224x3 150528 uint8 imgReSz2 224x224x3 150528 uint8
크기가 조정된 이미지를 표시합니다.
tiledlayout(1,2); nexttile imshow(imgReSz1); axis on; title('Resized Street1.jpg') nexttile imshow(imgReSz2); axis on; title('Resized peppers.png')
여러 데이터저장소 변환하기
여러 datastore 객체를 만들고 모든 데이터저장소에 동일한 변환을 적용합니다. 예를 들어, 여러 이미지를 하나의 사각형 타일 형식 이미지로 결합합니다.
한 개의 이미지가 있는 ImageDatastore
를 만듭니다.
imds1 = imageDatastore({'ngc6543a.jpg'})
imds1 = ImageDatastore with properties: Files: { ' .../devel/bat/Bdoc22b/build/matlab/toolbox/matlab/demos/ngc6543a.jpg' } Folders: { '/mathworks/devel/bat/Bdoc22b/build/matlab/toolbox/matlab/demos' } AlternateFileSystemRoots: {} ReadSize: 1 Labels: {} SupportedOutputFormats: ["png" "jpg" "jpeg" "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); whos img1 img_red img_green img_blue
Name Size Bytes Class Attributes img_blue 650x600 390000 uint8 img_green 650x600 390000 uint8 img_red 650x600 390000 uint8
모든 이미지를 하나의 사각형 타일 형식 이미지로 결합하여 모든 데이터저장소를 변환합니다. imds1
의 컬러 이미지를 회색조로 변환하여 다른 이미지의 차원과 일치하도록 합니다.
tds1 = transform(imds1,imdsR,imdsG,imdsB, @(x1,x2,x3,x4) [rgb2gray(x1),x2;x3,x4]); tile = read(tds1);
타일 형식 이미지를 표시합니다.
imshow(tile)
버전 내역
R2019a에 개발됨
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)