주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

fspecial

미리 정의된 2차원 필터 생성

설명

h = fspecial(type)은 지정된 type의 2차원 필터 h를 생성합니다. 일부 필터 유형은 다음 구문에서 보이는 것처럼 선택적 추가 파라미터를 갖습니다. fspecialh를 상관 커널로 반환합니다. 이는 imfilter와 함께 사용하기에 적절한 형식입니다.

예제

h = fspecial("average",hsize)hsize 크기의 평균 필터 h를 반환합니다.

h = fspecial("disk",radius)2*radius+1 크기의 정사각 행렬 내에서 원형 평균 필터(필박스)를 반환합니다.

h = fspecial("gaussian",hsize,sigma)는 표준편차가 sigma인, hsize 크기의 회전 대칭 가우스 저역통과 필터를 반환합니다. 권장되지 않습니다. imgaussfilt 또는 imgaussfilt3을 대신 사용하십시오.

h = fspecial("laplacian",alpha)는 2차원 라플라시안 연산자의 형태를 근사하는 3×3 필터를 반환합니다. alpha는 라플라시안의 형태를 제어합니다.

h = fspecial("log",hsize,sigma)는 표준편차가 sigma인, hsize 크기의 회전 대칭 LoG(가우스-라플라시안) 필터를 반환합니다.

h = fspecial("motion",len,theta)는 영상에 컨벌루션을 수행한 후 카메라의 선형 움직임을 근사하는 필터를 반환합니다. len은 움직임의 길이를 지정하고, theta는 움직임의 각도를 반시계 방향의 도 단위로 지정합니다. 이 필터는 가로 방향 움직임과 세로 방향 움직임에 대한 벡터가 됩니다. 디폴트 len9이고 디폴트 theta0입니다. 이는 9픽셀의 가로 방향 움직임에 해당합니다.

h = fspecial("prewitt")는 세로 방향 기울기를 근사하여 가로 방향 경계를 강조하는 3×3 필터를 반환합니다. 세로 방향 경계를 강조하려면 필터를 전치(h')하십시오.

[ 1  1  1 
  0  0  0 
 -1 -1 -1 ]

h = fspecial("sobel")은 세로 방향 기울기를 근사하여 평활화 효과를 사용해 가로 방향 경계를 강조하는 3×3 필터를 반환합니다. 세로 방향 경계를 강조하려면 필터를 전치(h')하십시오.

[ 1  2  1 
  0  0  0 
 -1 -2 -1 ]

예제

모두 축소

영상을 읽어 들인 후 이를 표시합니다.

I = imread("cameraman.tif");
imshow(I)

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

모션 필터를 생성한 후 이 필터를 사용하여 영상을 흐리게 만듭니다. 흐려진 영상을 표시합니다.

H = fspecial("motion",20,45);
motionBlur = imfilter(I,H,"replicate");
imshow(motionBlur)

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

원판 필터를 생성한 후 이 필터를 사용하여 영상을 흐리게 만듭니다. 흐려진 영상을 표시합니다.

H = fspecial("disk",10);
blurred = imfilter(I,H,"replicate"); 
imshow(blurred)

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

입력 인수

모두 축소

필터 유형으로, 다음 값 중 하나로 지정됩니다.

설명

"average"

평균 필터

"disk"

원형 평균 필터(필박스)

"gaussian"

가우스 저역통과 필터. 권장되지 않습니다. imgaussfilt 또는 imgaussfilt3을 대신 사용하십시오.

"laplacian"

2차원 라플라시안 연산자를 근사합니다.

"log"

LoG(가우스-라플라시안) 필터

"motion"

카메라의 선형 움직임을 근사합니다.

"prewitt"

Prewitt 가로 방향 경계 강조 필터

"sobel"

Sobel 가로 방향 경계 강조 필터

데이터형: char | string

필터의 크기로, 양의 정수 또는 양의 정수로 구성된 요소를 2개 가진 벡터로 지정됩니다. h의 행과 열 개수를 지정하려면 벡터를 사용하십시오. 스칼라를 지정할 경우 h는 정사각 행렬입니다.

"average" 필터 유형과 함께 사용할 경우 디폴트 필터 크기는 [3 3]입니다. 가우스-라플라시안("log") 필터 유형과 함께 사용할 경우 디폴트 필터 크기는 [5 5]입니다.

데이터형: double

원판 모양 필터의 반지름으로, 양수로 지정됩니다. 필터는 크기가 2*radius+1인 정사각 행렬입니다.

데이터형: double

표준편차로, 양수로 지정됩니다.

데이터형: double

라플라시안의 형태로, [0 1] 범위의 숫자로 지정됩니다. 4-이웃 라플라시안 필터를 얻으려면 alpha0으로 지정하십시오.

[ 0  1 0 
  1 -4 1 
  0  1 0 ]

데이터형: double

카메라의 선형 움직임으로, 숫자형 스칼라(단위: 픽셀)로 지정됩니다.

데이터형: double

카메라 움직임 각도(단위: 도)로, 숫자형 스칼라로 지정됩니다. 각도는 가로 방향에서부터 시계 반대 방향으로 측정됩니다.

데이터형: double

출력 인수

모두 축소

상관 커널로, 행렬로 반환됩니다.

데이터형: double

알고리즘

평균 필터:

ones(n(1),n(2))/(n(1)*n(2))

가우스 필터:

hg(n1,n2)=e(n12+n22)2σ2

h(n1,n2)=hg(n1,n2)n1n2hg

라플라시안 필터:

2=2x2+2y2

2=4(α+1)[α41α4α41α411α4α41α4α4]

LoG(가우스-라플라시안) 필터:

hg(n1,n2)=e(n12+n22)2σ2

h(n1,n2)=(n12+n222σ2)hg(n1,n2)σ4n1n2hg

참고로, fspecial은 동질 영역에 대한 컨벌루션 결과가 항상 0이 되도록 커널의 모든 요소의 합이 0(라플라스 커널과 유사)이 되도록 수식을 변형합니다.

모션 필터:

  1. h의 중앙 계수를 중심으로 하고, 인수 lentheta로 지정된 길이와 각도를 갖는 이상적인 선분을 생성합니다.

  2. 각 계수 위치 (i,j)에 대해, 해당 위치와 이상적인 선분 간의 최근접 거리를 계산합니다.

  3. h = max(1 - nearest_distance,0);

  4. h를 정규화합니다(h = h/(sum(h(:)))).

확장 기능

모두 확장

버전 내역

R2006a 이전에 개발됨