목록Computer Science/Image Processing (11)
엔지니어가 되고 싶은 공돌이

11. 1. General Interpolation - Nearest-Neighbor, Bilinear는 General Interpolation의 특수한 경우입니다. - General Interpolation: x1, x2 사이에 있는 x’의 함숫값 f(x’)를 f(x1, f(x2)를 이용해서 구하는 방법. Interpolation Function(R(x))에 따라 Interpolation Method가 결정됩니다. - f(x’) = R(-λ)f(x1) + R(1 - λ)f(x2). [Nearest-Neighbor Interpolation Function] (-1 ≤ u ≤ 1) [Linear Interpolation Function] (-1 ≤ u ≤ 1) - Cubic Interpol..

10. 1. Data Interpolation - Geometric Transformation: image의 확대/축소, 회전변환 등. - Data Interpolation: 기존에 알려진 데이터 지점을 이용해서, 새로운 데이터 지점을 구성하는 방법. ex) 기존 4개의 값으로, 새로운 8개의 값을 구축하는 방법. 1) Nearest-Neighbor(최근접) Interpolation. 2) Linear Interpolation: 원래의 함수 값을 직선으로 연결하고, 그 직선위의 값을 보간 값으로 할당. - 1), 2) 방법 모두 영상에서 적용할 때는 일직선이 아닌 2차원에서 적용해야 하므로, 먼저 제일 위쪽 행을 적용하고, 그 이후 아래쪽 행을 적용한 뒤, 마지막으로 열을 따라 적..

9. 1. Frequency - Frequency: 영상에서 주파수란 거리에 따라 Gray 값이 변화하는 양. - High Frequency: 일정 거리 내에서 Gray 값의 변화가 큰 특징. ex) Edge, Noise. - Low Frequency: 일정 거리 내에서 Gray 값이 거의 변하지 않는 특징. ex) Background. - Low-Pass Filter: 저주파 성분은 통과시키고, 고주파 성분은 줄이거나 제거. ex) Average Filter. - High-Pass Filter: 고주파 성분은 통과시키고, 저주파 성분은 줄이거나 제거. Filter의 총합은 0이며, 저주파 성분을 0으로 가깝게 만들어 출력시 어두운 영상이 나옵니다. ex) Laplacian Filter..

8. 1. Filter - Filter = Convolution Processing: Mask와 Image Function의 결합. - Mask: 특정한 값을 가지고 있는 Rectangle Matrix. - convolution processing 3 Steps 1) 마스크를 현재 화소 위에 위치시킨다. 2) 필터 값과 화소들의 값을 대응하는 원소끼리 서로 곱한다. 3) 곱한 것들을 모두 더한다. - Mask를 Image위에 위치시킬 때, Mask가 이미지 바깥으로 나가는데 어떻게 해야할까? 1) 에지 무시: 완전히 포개지는 화소들만 Mask 적용. 출력영상이 작아집니다. 2) 0으로 채움: 바깥부분을 0이라 가정하고 처리. 출력영상은 작아지지 않지만, 영상 주위에 원하지 ..

7. 1. Arithmetic Opeartions - Image Processing Operations: Pixel Value(Gray, RGB)를 바꾸는 것. - Image Processing은 영상 전체를 바꾸는 Transformation, 1개의 Pixel만 바꾸는 Pixel Unit Processing, 여러 개의 Pixel를 바꾸는 Area Unit Processing으로 구별할 수 있습니다. 1) Clipping Operation 2) Addition: imadd(image, 128); Subtraction: imsubtract(image, 128); Multiplication: immultiply(image, 2); Division: imdivide(imag..

6. 1. Error Diffusion(오차 확산) - Dithering 과정에서 원래 그레이 값과 양자화된 값 사이에 오차가 발생하게 됩니다. 이러면 output image에서 원하지 않은 결과가 발생할 수 있으므로, 오차를 이웃한 화소에 확산시킵니다. ex) Binary Image에서 0과 255의 인접한 곳에는 오차가 작고, 128 주변은 오차가 크게 됩니다. - Floyd-Steinberg Error Diffusion 1) 좌측상단 화소부터 가로방향으로 화소 단위로 움직이면서 1행씩 처리합니다. 2) 양자화 전 오차 계산. 3) 오차를 오른쪽 및 아래쪽의 화소로 확산. 4) 양자화 수행. 오차확산 시 주의할 점> 1) 화소를 양자화 하기 전에 그 화소의 오차를 계산..

5. 1. Space Resolution - Space Resolution: Image 화소의 크기. - imresize(image, 1/2): Space Resolution 변경(1920 X 1080 Image -> 960 X 540 Imge). row, column 각각의 방향으로 1화소씩 생략(Even Number만 존재)합니다. - imresize(imresize(x, 1/4), 4) -> effective resolution이 1/4 X 1/4로 줄어듭니다. 5. 2. Quantization - Quantization: Pixel 1개를 표현하는 색상의 수. ex) 256 그레이 스케일에서 256개. - Uniform Quantization: Original Quantization의 범..

4. 1. Image Function - Space Resolution: 영상의 크기(Number of Pixels). - Quantization: 하나의 화소를 몇 개의 색으로 표현할 수 있는지. - Quality: 주관적인 문제이며, Space Resolution과 Quantization으로 결정됩니다. - image(imread output variable); : Image Array의 값을 현재 Color Map에 맞추어 출력합니다. c = imread(~); image(c); colorbar(Output a Color Map); - Color Map: 임의의 수를 컬러로 바꿔주는 표. 1) default: 64X3의 컬러 값 / 사용자가 만들 수 도 있고 기존 컬러맵을 호출 할 수 도 ..

3. 1. Data Type - Data Type: int8(8bit integer), uint8(8bit unsigned integer), int16, uint16, double(Range: Machine Specific). - b = uint8(a); whos a b; (whos: 현재 사용하고 있는 변수의 크기와 타입을 보여주는 함수). - 매트랩은 사용전에 변수를 선언하지 않고, 변수의 타입은 입력값에 따라 자동으로 결정됩니다. 정수의 기본형은 double. - 정확한 계산을 위해 double형이 좋고, 영상의 저장은 uint8이 효율적입니다. - Converting Image: gray2rgb(gray -> rgb) : Gray Pixel Value를 R, G, B에 각각 똑같이..

2. 1. GrayScale Image - Matlab: Matrix and Matrix Operations를 지원하는 Data Analysis Software. - Image: Two Dimensional Matrix. - imread: 영상파일에서 화소 값을 읽어 Matrix에 저장. w = imread(‘ image name ’); - figure: 영상을 표현할 윈도우 생성 imshow: Draw the Matrix. impixelinfo: 커서위치에 따른 화소값 출력. 좌측상단이 (0, 0)입니다. figure; imshow(w); impixelinfo; 2. 2. RGB Image - (0,0,0) -> Black, (1,1,1) -> white. - RGB Compleme..