프로그래밍 공부
작성일
2022. 10. 4. 23:27
작성자
WDmil
728x90

Select sub-images in an image

원하는 데이터의 이미지만 추출하기 위해 사용.

AND와 OR게이트를 활용하여 데이터를 추출함.

AND = 입력 데이터에 상관없이 검정 부분의 출력 데이터를 0으로 고정함 8bit = 0000 0000

흰부분의 AND필터값을 1로 하여 출력 데이터가 1일경우 1을 출력 아닐경우 0으로 바꿈.

 

OR = 흰 부분 필터값이 8bit로 1111 1111로 필터링함. 입력값과 상관없이 모든 데이터를 1로 바꾼다. 1 or 1 = 1 1 or 0 = 1

검정부분의 OR필터값을 0으로 하여 0000 0000로 필터링함


Calculates differnce between two images

위 이미지 상의 차이점을 확인할때 육안으로는 확인이 힘들다.

f가 왼쪽 h가 오른쪽 이미지의 배열이라고 한다면, g로 왼쪽 하단의 이미지가 나온다.

여기서 이미지의 픽셀 값의 차이를 알기 위해 히스토그램 평탄화 작업을 진행하면 우측 하단 이미지가 나타난다. 육안으로는 확인하기 힘든 픽셀간의 데이터 정확도 차이를 알 수 있다.


Adjustemnt [-255,255] 조정

1. 값 [-255~ 255 ] 사이의 값에 255를 더해준 후 2로 나눠준다. [ 0~ 255 ]

2. min, max를 구한 후 f-h=g가 나올 때 $ 255 \times \frac{g(x,y)-min}{max-min} $ 해준다. 0 ~ 255 까지의 노멀라이징이 된다.

3. 음수와 양수 상관없이 절대값을 씌워준다.


Spatial Filtering Methods [ 공간 필터링 ]

CNN = Convolutional Neural Network 기법을 활용한다.

gray level을 변경해주는 기법이다. neighborhood pixels 즉, 조정하려는 픽셀 위치의 이웃한 픽셀값을 사용하여 조정해주는 것이다.

 

기존 gray level 을 변경해주는 기법은 T(x,y)의 값만을 이용해서 바꿔주는 기법이나, Spatial Filtering 기법은 주변 픽셀을 활용한다.

 

지정된 픽셀의 주변 픽셀을 이용하여 지정픽셀을 조정해준다.

Mask, Kernel 필터링 이라고도 부른다.

지정된 픽셀을 제외한 3X3의 데이터인 8픽셀이  neighborhood pixels 이다.

이웃한 픽셀영역을 3X3 또는 5X5 로 지정하여 사용한다.

 

Spatial filtering = 필터링 하는 데이터가 공간데이터 일때를 이야기한다.

 

 

계산을 위한 마스크 영상 상수 [ 커널, 윈도우 라고도 한다. ]

w1z1 + w2z2 ..... + w9z9 값이 중앙값이 된다.

바로 옆 픽셀을 값으로 잡아도 똑같이 작업하면 된다.

그러나 이렇게 작업을 우측으로, 다시 밑으로 다 해버리면 외곽은 0이 되어버리는데 이것을 매꾸려면 padding이라는 작업을 해야한다.

 

padding 종류

padding = 외곽의 빈 부분을 채워넣어 주는것.

Zero Padding = 외곽부분을 0으로 채워넣어 놓는것

Replication Padding = 외곽부분을 가장 바깥부분으로 채워넣는것

 

외곽부분을 패딩으로 한픽셀을 다시 생성하여 진짜 외곽에 Mask 필터링을 한다.

 

만약 mask weight가 5X5라면, 채워넣어야 하는 padding 의 갯수는 5/2=2 [ 소숫점 버림 ] 즉, 위 아래 좌우로 2칸씩을 Padding하여 작업하면 된다.

 

래스터 스케닝 = 다 계산 후 우측으로 한칸 옮기고 끝에 도착했을 경우 좌측 첫번째로 이동후 한칸 내리고 다시 끝까지 가고 를 반복하는것.

 

728x90