imsharpen
비선명 마스크(unsharp mask)를 적용하여 영상을 선명하게 만들기
설명
는 비선명 마스크 적용 방법을 사용하여 회색조 또는 트루컬러(RGB) 영상 B
= imsharpen(A
)A
를 선명하게 만듭니다.
는 이름-값 인수를 사용하여 비선명 마스크의 특성을 제어합니다.B
= imsharpen(A
,Name,Value
)
예제
영상을 선명하게 만들기
영상을 작업 공간으로 읽어 들인 후 이를 표시합니다.
a = imread('hestain.png'); imshow(a) title('Original Image');
imsharpen
함수를 사용하여 영상을 선명하게 만든 후 이를 표시합니다.
b = imsharpen(a);
figure, imshow(b)
title('Sharpened Image');
경계에 적용할 선명화 정도 조정하기
영상을 작업 공간으로 읽어 들인 후 이를 표시합니다.
a = imread('rice.png'); imshow(a), title('Original Image');
radius
파라미터와 amount
파라미터를 지정하여 영상을 선명하게 만듭니다.
b = imsharpen(a,'Radius',2,'Amount',1); figure, imshow(b) title('Sharpened Image');
입력 인수
A
— 선명하게 만들 영상
회색조 영상 | RGB 영상
선명하게 만들 영상으로, 회색조 영상 또는 RGB 영상으로 지정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: B = imsharpen(A,Radius=1.5);
는 표준편차가 1.5
인 가우스 저역통과 필터를 사용하여 선명화 작업(sharpening)을 수행합니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: B = imsharpen(A,"Radius",1.5);
Radius
— 가우스 저역통과 필터의 표준편차
1
(디폴트 값) | 양수
가우스 저역통과 필터의 표준편차로, 양수로 지정됩니다. 이 인수는 선명화 영향을 받는 경계 픽셀 주변 영역의 크기를 조정합니다. 값이 클수록 선명해지는 경계 주변 영역이 늘어나고, 값이 작을수록 선명해지는 경계 주변 영역이 줄어듭니다.
예: Radius=1.5
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Amount
— 선명화 효과의 강도
0.8
(디폴트 값) | 숫자
선명화 효과의 강도로, 숫자로 지정됩니다. 값이 클수록 선명해진 픽셀의 대비가 증가합니다. 이 파라미터의 값은 일반적으로 그 범위가 [0, 2] 내이지만, 2
보다 큰 값도 허용됩니다. 이 인수의 값이 지나치게 크면 출력 영상에 원치 않는 효과가 나타날 수 있습니다.
예: Amount=1.2
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Threshold
— 픽셀을 경계 픽셀로 간주하는 데 필요한 최소 대비
0
(디폴트 값) | [0, 1] 범위의 숫자
픽셀을 경계 픽셀로 간주하는 데 필요한 최소 대비로, [0 1] 범위의 숫자로 지정됩니다. 값이 클수록(1에 근접) 강한 경계 같은 고대비 영역에만 선명화가 적용되고, 저대비 영역은 영향을 받지 않습니다. 값이 작을수록(0에 근접) 영상에서 비교적 부드러운 영역에도 선명화가 적용됩니다. 이 인수는 출력 영상에서 잡음이 선명해지는 것을 방지하는 데 유용합니다.
예: Threshold=0.7
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
세부 정보
선명화
선명도는 서로 다른 색 사이의 대비입니다. 검은색에서 흰색으로 빠르게 전환되면 선명해 보입니다. 검은색에서 회색으로, 회색에서 흰색으로 점진적으로 전환되면 흐릿해 보입니다. 영상을 선명하게 만들면 서로 다른 색이 만나는 경계의 대비가 증가합니다.
비선명 마스크 적용(Unsharp Masking)
비선명 마스크 적용 기법은 출판 업계의 공정에서 비롯된 것으로, 영상에서 자체의 흐릿한(비선명한) 버전의 영상을 빼 영상을 선명하게 만드는 것입니다. 이 필터의 이름 때문에 혼란스러워하지 마십시오. 비선명 필터(unsharp filter)는 영상을 선명하게 만드는 데 사용되는 연산자입니다.
팁
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
imsharpen
함수는 C 코드 생성을 지원합니다(MATLAB® Coder™가 필요함). 자세한 내용은 Code Generation for Image Processing 항목을 참조하십시오.
버전 내역
R2013a에 개발됨R2022a: RGB 영상에 대한 변경된 컬러스페이스 변환 연산
R2022a부터 imsharpen
함수는 RGB 영상의 선명화 처리에 다른 컬러스페이스 변환 연산을 사용합니다. R2021b 이하 릴리스에서 imsharpen
함수는 makecform
함수와 applycform
함수를 사용하여 컬러스페이스 변환을 수행했습니다. R2022a부터 imsharpen
함수는 rgb2lab
함수와 lab2rgb
함수를 사용하여 컬러스페이스 변환을 수행합니다.
새 연산에서는 RGB 영상의 선명화 결과가 다릅니다. 이전 동작을 재현해야 하는 경우 imsharpen
에 대한 호출을 images.compatibility.imsharpen.r2021b.imsharpen
함수에 대한 호출로 대체하면 됩니다. 입력 인수는 변경할 필요가 없습니다.
R2022a: MATLAB Coder를 사용하여 C 코드 생성하기
이제 imsharpen
함수는 C 코드 생성을 지원합니다(MATLAB Coder가 필요함).
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)