주요 콘텐츠

augment

동일한 무작위 변환을 여러 개의 영상에 적용

설명

augI = augment(augmenter,I)는 영상 데이터 증강기 augmenter에 의해 정의된 영상 전처리 옵션 세트의 무작위 변환을 사용하여 영상 I를 증강합니다. I가 여러 개의 영상으로 구성된 경우 augment는 모든 영상에 동일한 변환을 적용합니다.

예제

예제

모두 축소

임의의 각도만큼 영상을 회전하는 영상 증강기를 만듭니다. 유효한 회전 각도의 사용자 지정 범위를 사용하려면 증강기를 만들 때 함수 핸들을 지정하면 됩니다. 이 예제에서는 서로소인 두 구간 내에서 각도를 선택하는 myrange(이 예제의 끝에 정의되어 있음)라는 함수를 지정합니다.

imageAugmenter = imageDataAugmenter(RandRotation=@myrange);

여러 개의 영상을 작업 공간으로 읽어오고 표시합니다.

img1 = imread("peppers.png");
img2 = imread("corn.tif",2);
inImg = imtile({img1,img2});
imshow(inImg)

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

동일한 증강을 사용해 영상을 증강합니다. 무작위로 선택된 회전 각도는 임시 변수 angle로 반환됩니다.

outCellArray = augment(imageAugmenter,{img1,img2});
angle = 
8.1158

증강 영상을 표시합니다.

outImg = imtile(outCellArray);
imshow(outImg);

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

지원 함수

이 예제는 먼저 (-10, 10) 및 (170, 190)의 두 구간 중 하나를 동일한 확률로 무작위 선택하는 myrange 함수를 정의합니다. 선택된 구간 내에서, 함수는 균등분포에서 하나의 난수를 반환합니다.

function angle = myrange()
    if randi([0 1],1)
        a = -10;
        b = 10;
    else
        a = 170;
        b = 190;
    end
    angle = a + (b-a).*rand(1)
end

입력 인수

모두 축소

증강 옵션으로, imageDataAugmenter 객체로 지정됩니다.

증강할 영상으로, 다음 중 하나로 지정됩니다.

  • 단일 회색조 영상 또는 컬러 영상을 나타내는 숫자형 배열.

  • 숫자형 영상과 범주형 영상으로 구성된 셀형 배열. 영상의 크기와 유형은 다를 수 있습니다.

출력 인수

모두 축소

증강된 영상으로, 숫자형 배열로 반환되거나 입력 영상 I의 형식과 일치하는 숫자형 영상과 범주형 영상으로 구성된 셀형 배열로 반환됩니다.

  • augment 함수를 사용하여 샘플 영상에 적용된 변환을 미리 볼 수 있습니다.

  • 훈련 중에 영상 증강을 수행하려면 augmentedImageDatastore를 만들고 DataAugmentation 이름-값 인수에 imageDataAugmenter를 사용하여 전처리 옵션을 지정하십시오. 증강 영상 데이터저장소는 훈련 데이터에 자동으로 무작위 변환을 적용합니다.

버전 내역

R2018b에 개발됨