목록영상처리 (19)
DevKim
0. 데이터의 보간 *보간(Interpolation)? - 주위의 값을 근거로 함수 값을 추정하는 것 1. 최근접 보간 - 가장 가까운 x의 값을 취하는 방법 2. 선형(linear) 보간 - 원래의 함수 값들을 직선으로 연결하고, 그 직선 위의 값을 선택하는 방법 * 삼각형의 닮은 꼴을 사용한다 3. 영상 보간 4X4 영상을 보간하여 8X8 영상을 생성하려고 할때!!!! ↓ ↓ (1) 최근접 보간 (2) 양선형 보간 - 원하는 점을 투향 시키고 직선의 방적식 구하고 그 선 위에 있음을 앎 (3) imresize 함수 imresize(A,K,'method') imresize(A,[m,n],'method') * K : 스케일링 계수 * [m,n] : 변경할 영상의 크기 * 'method' : 사용할 보간 ..
0. 비선형 필터 : 마스크 내의 밝기 값에 비선형 함수를 적용 선형 필터 : 필터와 원본 영상을 곱해서 더함 1. Rank-order filter : 마스크 내의 값들을 정렬하고 특정한 값을 출력하는 필터!! -> 만약 값들이 오름차순으로 정렬되어있으면 최소값 필터는 펏 번째 값을 출력하는 rank-order 필터이고, 최대값은 마지막 값을 출력하는 rank-order 필터이다. *nfilter :미리 정의된 함수를 사용하여 필터링. 원하는 함수 만들어서 사용할 수 있음 (lambda 같은건가..???) 1) 마스크 내의 가장 큰 값 출력 (최대 값 필터) -> 영상을 밝게 함 cmax=nlfilter(c,[3,3],'max(x(:))'); 2) 마스크 내의 가장 작은 값 출력 (최소 값 필터) -> ..
*가우시안 확률분포 함수 -표준편차가 큰 함수는 최댓값이 작지만 넓은 범위에 적용, - 표준편차가 작은 함수는 최댓값이 크지만 좁은 범위에 적용 1. 가우시안 확률분포 함수 a=50;s=3; #a는 필터의 크기, s는 표준편차 g=fspecial('gaussian',[a a],s); surf(1:a,1:a,g) a=50;s=9; #a는 필터의 크기, s는 표준편차 g2=fspecial('gaussian',[a a],s); surf(1:a,1:a,g2) 2. 가우시안 필터 g1=fspecial('gaussian',[5,5]); # sigma의 디폴트 값은 0.5임 g2=fspecial('gaussian',[5,5],2); g3=fspecial('gaussian',[11,11],1); g4=fspecial(..
- 주파수 영상에선 정해진 공간에서 얼마나 밝기 값이 왔다갔다 반복을 많이 하는지를 말함 - 고주파 성분 : 짧은 거리 내에 밝기 값의 변화가 매우 큰 성분 (ex) 에지, 잡음 등 - 저주파 성분 : 밝기 값이 거의 변하지 않는 성분 (ex) 단색 벽,피부 1. 고역통과 필터 : 고주파 성분들을 통과시키고, 저주파 성분들을 줄이거나 제거하는 필터 → 에지 검출 , 에지 강조 1. fspecial('laplacian') c=imread('camera.tif'); f1=fspecial('laplacian') #필터 생성 cf1=filter2(f1,c); #필터 적용 figure,imshow(uint8(cf1)); #output이 double형이므로 uint8로 변환 . fspecial('log') f2=f..
filter2(filter, image, shape) * filter2 함수의 출력은 double 형임!!!!!!!!!!!!!!!!!! - ‘same’ : 0으로 채움 (default 값) - ‘valid’ : 에지 무시 - ‘full’ : 영상과 마스크가 하나라도 겹치면 필터링을 수행함. 이때, 영상의 화소 값이 없는 곳은 0으로 채움 - ‘mirroring’ : Matlab에서 지원되지 않음 (코드로 직접 구현) 필터함수 사용하지 않고 '직접 구현했을때' 1. 'same' a=ones(3,3)/9 filter2(a,x,'same') 2. 'valid' - filter2(a,x,'same')과 동일함 x2=zeros(7,7); x2(2:6,2:6)=x #이 구간은 영상으로 채워라! filter2(a,x..
영역 단위 처리 : 주어진 화소의 이웃화소들에 대해서도 함수 적용 * 마스크를 주어진 영상 위로 이동하면서 처리 * 마스크와 함수를 결합한 것 = 필터(filter) 1. 공간 필터링 (spatial filtering) 선형 필터 구현시 마스크원소와 대응되는 이웃 화소들 값 곱하고 모두 더함 2. 공간 회선 (spatial convolution) 곱하고 더하기 전에 필터를 180도 회전함 마스크가 회전에 대해 대칭이면,공간 필터링 = 공간 회선 임 2. 평균필터 (average filter) • 3x3 마스크의 경우, 마스크와 겹치는 9개의 밝기 값들의 평균을 구함 예를들어 70을 필터링하고 싶을때, x(1:3,2:4) 위치의 평균 구함 2. 영상의 엣지 처리 1. 에지 무시 - 출력 영상의 크기가 원본..
1) 평활화 (equalization) : 영상의 모든 밝기 값의 빈도수를 같게 만듦 (이상적으로) : 자동으로 수행됨 ex) 4bit 영상의 밝기 값 분포가 아래와 같을 때 밝기 값이 아래와 같이 변경됨 히스토그램 평활화는 이상적인 형태로 모든 밝기 값의 빈도가 같아지게 만들진 못함, 그러나 유사하게는 만든다 --> 밝기 값의 누적합이 선형으로 증가하는 형태로!!!!! histeq(영상) p=imread('pout.tif'); ph=histeq(p); figure,imshow([p ph]); figure,imhist(p),axis tight; figure,imhist(ph),axis tight; en=imread('engineer.gif'); e=imdivide(en,4); #일부러 대비 안 좋게 만듦..
히스토그램(Histogram) - 각 밝기 값이 영상에서 존재하는 개수를 나타내는 그래프 Q) 히스토그램으로 어떤 정보를 얻을 수 있을까? 1. 화소들의 밝기 값이 낮은 영역에 많이 속하면 어두운 영상임을 알 수 있음 2. 화소들의 밝기 값이 높은 영역에 많이 속하면 밝은 영상임을 알 수 있음 3. 화소의 밝기 값이 넓은 범위에 걸쳐 분포하면 대비(contrast)가 좋은 영상(=선명함) 1. 히스토그램 구하기 imhist p=imread('pot.tif'); figure,imshow(p); figure,imhist(p),axis tight #axis tight를 사용하면 히스토그램 바가 꼭 맞게 디스플레이됨 → 밝기 값들이 넓게 분포해있지 않고 가운데에 몰려있음 → 대비가 좋지 않음 2. 히스토그램 스..