Main Content

imfuse

설명

예제

C = imfuse(A,B)는 두 개의 영상 AB에서 합성 영상을 생성합니다. AB의 크기가 다르면, 합성 영상을 만들기 전에 두 영상 크기가 같도록 imfuse는 더 작은 차원을 0으로 채웁니다. 출력값 C는 영상 AB의 혼합 버전을 포함한 숫자형 행렬입니다.

예제

[C RC] = imfuse(A,RA,B,RB)RARB에 제공된 공간 참조 정보를 사용하여 두 개의 영상 AB에서 합성 영상을 생성합니다. 출력값 RC는 혼합 출력 영상 C의 공간 참조 정보를 정의합니다.

예제

C = imfuse(___,method)method로 지정된 알고리즘을 사용합니다.

예제

C = imfuse(___,Name,Value)는 위에 열거된 구문에 이름-값 인수를 하나 이상 추가 옵션으로 지정합니다.

예제

모두 축소

영상을 작업 공간으로 불러옵니다. 회전 오프셋을 적용한 복사본을 만듭니다.

A = imread('cameraman.tif');
B = imrotate(A,5,'bicubic','crop');

AB의 명암을 함께 단일 데이터 세트로 스케일링하여 혼합 오버레이 영상을 만듭니다. 혼합 영상을 표시합니다.

C = imfuse(A,B,'blend','Scaling','joint');
imshow(C)

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

결과 영상을 .png 파일로 저장합니다.

imwrite(C,'my_blend_overlay.png');

영상을 작업 공간으로 불러옵니다. 복사본을 만들고 회전 오프셋을 적용합니다.

A = imread('cameraman.tif');
B = imrotate(A,5,'bicubic','crop');

영상 A에는 빨간색을, 영상 B에는 녹색을, 두 영상에서 명암이 비슷한 영역에는 노란색을 사용하여 혼합 오버레이 영상을 만듭니다. 그런 다음, 오버레이 영상을 표시합니다.

C = imfuse(A,B,'falsecolor','Scaling','joint','ColorChannels',[1 2 0]);
imshow(C)

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

결과 영상을 .png 파일로 저장합니다.

imwrite(C,'my_blend_red-green.png');

영상을 작업 공간으로 불러온 다음 이 영상과 연결된 공간 참조 객체를 만듭니다.

A = dicomread('knee1.dcm');
RA = imref2d(size(A));

영상 A의 크기를 조정하여 두 번째 영상을 만든 다음, 이 영상과 연결된 공간 참조 객체를 만듭니다.

B = imresize(A,2);
RB = imref2d(size(B));

세계 좌표에서 좌표의 제한을 지정하도록 참조 객체 파라미터를 설정합니다.

RB.XWorldLimits = RA.XWorldLimits;
RB.YWorldLimits = RA.YWorldLimits;

명암이 비슷한 영역을 색으로 나타낸 혼합 오버레이 영상을 만듭니다. 이 예제에서는 영상 A에는 빨간색을, 영상 B에는 녹색을, 두 영상에서 명암이 비슷한 영역에는 노란색을 사용했습니다.

C = imfuse(A,B,'falsecolor','Scaling','joint','ColorChannels',[1 2 0]);

혼합 영상을 표시합니다. 영상에서 명암이 비슷한 영역이 그리 많지 않은 것처럼 보입니다. 이 예제에서는 더 쉬운 표시를 위해 혼합 영상이 축소되었습니다.

C = imresize(C,0.5);
imshow(C)

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

새 혼합 영상을 만듭니다. 이번에는 RARB의 공간 참조 정보를 사용합니다.

[D,RD] = imfuse(A,RA,B,RB,'ColorChannels',[1 2 0]);

새 혼합 영상을 표시합니다. 이 버전에서는 영상 AB가 세계 좌표계에서 같은 범위이기 때문에 영상이 노란색으로 나타납니다. BA보다 두 배 더 크지만, 여기서 영상은 정합되었습니다. 이 예제에서는 더 쉬운 표시를 위해 혼합 영상이 축소되었습니다.

D = imresize(D,0.5);
imshow(D)

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

입력 인수

모두 축소

합성 영상으로 결합할 첫 번째 영상으로, 회색조 영상, 트루컬러 영상 또는 이진 영상으로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

합성 영상으로 결합할 두 번째 영상으로, 회색조 영상, 트루컬러 영상 또는 이진 영상으로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

입력 영상 A와 연결된 공간 참조 정보로, imref2d 객체로 지정됩니다.

입력 영상 B와 연결된 공간 참조 정보로, imref2d 객체로 지정됩니다.

영상을 결합하는 데 사용되는 알고리즘으로, 다음 값 중 하나로 지정됩니다.

방법설명
"falsecolor"AB를 서로 다른 색 대역으로 겹친 합성 RGB 영상을 만듭니다. 합성 영상에서 회색 영역은 두 영상의 명암이 같은 곳입니다. 자홍색과 녹색 영역은 명암이 서로 다른 곳입니다. 이는 디폴트 방법입니다.
"blend"알파 혼합을 사용하여 AB를 겹칩니다.
"checkerboard"AB의 서로 교차하는 사각형 영역으로 영상을 만듭니다.
"diff"AB에서 차분 영상을 만듭니다.
"montage"같은 영상에 AB를 나란히 배치합니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: C = imfuse(A,B,Scaling="joint")AB의 명암 값을 함께 단일 데이터 세트로 스케일링합니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: C = imfuse(A,B,"Scaling","joint")AB의 명암 값을 함께 단일 데이터 세트로 스케일링합니다.

명암 스케일링 옵션으로, 다음 값 중 하나로 지정됩니다.

"independent"C를 생성할 때, AB의 명암 값을 개별적으로 스케일링합니다.
"joint"여러 영상이 같은 영상에 함께 있는 것처럼 영상의 명암 값을 함께 스케일링합니다. 이 옵션은 한 영상에 다른 영상의 동적 범위를 벗어나는 채우기 값이 포함된 경우, 단일모달 영상의 정합을 시각화할 때 유용합니다.
"none"추가적인 스케일링이 없습니다.

각 입력 영상의 출력 색 채널로, 다음 값 중 하나로 지정됩니다.

[R G B]빨간색, 녹색 및 파란색 채널에 할당할 영상을 지정하는, 요소를 3개 가진 벡터. R, G, B 값은 1(첫 번째 입력 영상의 경우), 2(두 번째 입력 영상의 경우) 및 0(두 영상 모두 아닌 경우)이어야 합니다.
"red-cyan"벡터 [1 2 2]의 바로 가기. 빨간색/녹청색 스테레오 입체사진(Anaglyph)에 적합합니다.
"green-magenta"벡터 [2 1 2]의 바로 가기. 높은 대비 옵션으로, 많은 유형의 색맹인들에게 이상적입니다.

출력 인수

모두 축소

입력 영상의 합성본에 해당하는 혼합 영상으로, 회색조 영상, 트루컬러 영상 또는 이진 영상으로 반환됩니다.

데이터형: uint8

혼합 영상 C와 연결된 공간 참조 정보로, imref2d 객체로 반환됩니다.

  • 파일에 저장할 수 있는 합성 시각화를 생성하려면 imfuse를 사용하십시오. 합성 시각화를 화면에 표시하려면 imshowpair를 사용하십시오.

  • 공간 참조 정보 RARB를 지정할 경우 imfuse는 입력 참조 객체를 결합하여 이 두 영상의 세계 제한 값을 포함하는 경계 상자를 구합니다. 총 경계 상자의 세계 좌표에 정수가 아닌 픽셀 차원이 존재하면, 혼합 영상은 검은색 픽셀의 행이나 열을 추가로 가질 수 있습니다. 이 왜곡은 imfuse가 감소된 픽셀 범위에 따라 원래 영상을 샘플링하기 때문에 발생합니다.

버전 내역

R2012a에 개발됨