medfilt3
3차원 중앙값 필터 적용
설명
예제
중앙값 필터링을 사용하여 3차원 데이터의 이상값 제거하기
잡음이 있는 3차원 곡면을 만듭니다.
[x,y,z,V] = flow(50); noisyV = V + 0.1*double(rand(size(V))>0.95) - 0.1*double(rand(size(V))<0.05);
중앙값 필터링을 적용합니다.
filteredV = medfilt3(noisyV);
잡음이 있는 표면과 필터링된 표면을 함께 표시합니다.
subplot(1,2,1) hpatch1 = patch(isosurface(x,y,z,noisyV,0)); isonormals(x,y,z,noisyV,hpatch1) set(hpatch1,'FaceColor','red','EdgeColor','none') daspect([1,4,4]) view([-65,20]) axis tight off camlight left lighting phong subplot(1,2,2) hpatch2 = patch(isosurface(x,y,z,filteredV,0)); isonormals(x,y,z,filteredV,hpatch2) set(hpatch2,'FaceColor','red','EdgeColor','none') daspect([1,4,4]) view([-65,20]) axis tight off camlight left lighting phong
입력 인수
A
— 입력 영상
3차원 숫자형 배열 | 3차원 논리형 배열
입력 영상으로, 3차원 숫자형 또는 논리형 배열로 지정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
[m n p]
— 이웃 크기
[3 3 3]
(디폴트 값) | 요소를 3개 가진 벡터
이웃 크기로, 양의 홀수 정수로 구성된 요소를 3개 가진 벡터로 지정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
padopt
— 채우기 옵션
"symmetric"
(디폴트 값) | "zeros"
| "replicate"
채우기 옵션으로, 다음 값 중 하나로 지정됩니다.
값 | 설명 |
---|---|
"symmetric" | 배열 자체를 대칭 복사하여 배열을 채웁니다. |
"replicate" | 테두리 요소를 반복하여 배열을 채웁니다. |
"zeros" | 0 으로 배열을 채웁니다. |
데이터형: char
| string
확장 기능
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2016b에 개발됨R2022b: 스레드 기반 환경 지원
medfilt3
함수는 이제 스레드 기반 환경을 지원합니다.
R2021b: 작은 이웃 크기에 대한 성능 향상
medfilt3
함수는 [3, 3, 3]에서 최대 [31, 31, 31]까지의 이웃 크기에 대해 향상된 성능을 보여줍니다.
예를 들어 이 코드는 이전 릴리스보다 약 3배 더 빠릅니다.
function timingTestMedfilt3 load mristack; noisyV = imnoise(mristack,'salt & pepper',0.2); tic filteredV = medfilt3(noisyV); toc end
대략적인 실행 시간은 다음과 같습니다.
R2021a: 0.24초
R2021b: 0.08초
이 코드는 함수 timingTestMedfilt3
를 호출하여 Windows® 10, Intel® Xeon® Gold 5220 CPU @ 2.2GHz 테스트 시스템(2개 프로세서)에서 시간이 측정되었습니다.
참고 항목
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)