Image Processing?
• What do you think of when you hear image processing?
• Image processing is analyzing and manipulating an image through code
• Using math+computer science, we can analyze, enhance and distort images for all kinds of uses.
A color image can also be represented as a set of Hue, Saturation, Brightness values
Shift across hue, but not saturation or value
Let’s make filters of our own!
tint(100)
색상들을 100/255 배
tint(255, 127)
색상 100%, 투명도 127/255 배
tint(0, 200, 255)
RGB 각각 0/255, 200/255, 255/255 배
tint(255, 0, 0, 100)
RGB 각각 255/255, 0, 0 배
알파값 100/255 배
픽셀 위치에 따라서
밝기 조절
밝기 threshold
픽셀 기반 Photoshop Blending mode 수식
각 픽셀 rgb 값이 0~1 사이로 가정한 수식. Blend 는 임의로 값을 정함
Image Flipping
Pixel Location
Pixel(x, y) 와 좌우 대칭인 Pixel 의 배열에서의 위치는
y*width + ( width – 1 – x)
Pixel (x, y) 의 배열에서의 위치는
y*width + x
Pixel(x, y) 와 상하 대칭인 Pixel 의 배열에서의 위치는
(height-1-y)*width + x
Pixel group processing
Pixel group processing
• 기존 예제들은 원본 픽셀과 결과 픽셀의 one-to-one 관계였음
• 각 픽셀의 brightness 조절 등…
• 원본의 2개 픽셀에서 새로운 픽셀을 만들어보자
• 픽셀 위치: x + ywidth
• 왼쪽 픽셀 위치: (x-1) + ywidth
• float diff = 픽셀 밝기 – 왼쪽 픽셀 밝기
• 현재 픽셀 rgb 값 = (diff, diff, diff)
Simple horizontal edge detection algorithm
Spatial convolution
• 주변 픽셀의 정보를 동시에 사용
• 바로 이웃은 총 8개의 픽셀
• 3 x 3 convolution
• 입력 픽셀과 주변 픽셀의 Weighted average
한국어
이미지 처리(Image Processing)
- 이미지 처리란? 코드로 이미지를 분석·조작하는 일입니다. 수학과 컴퓨터과학을 활용해 이미지를 분석·향상·왜곡 등 다양한 용도로 다룹니다.
색 표현과 필터
- HSB 표현: 컬러 이미지는 색상(Hue)·채도(Saturation)·명도(Brightness) 값의 집합으로도 표현할 수 있습니다.
- 예: Hue만 이동(Shift)하고 채도·명도는 고정.
- 간단 필터 만들기(tint 예시)
- tint(100): 색상들을 100/255 배로 곱함.
- tint(255, 127): 색상 100%, 투명도 127/255 배.
- tint(0, 200, 255): R=0/255, G=200/255, B=255/255 배.
- tint(255, 0, 0, 100): R=255/255, G=0, B=0 배, 알파 100/255 배.
픽셀 기반 조정
- 밝기 조절/임계값(threshold): 픽셀 위치에 따라 밝기를 조절하거나 임계값을 이용해 이진화/강조.
- 블렌딩 모드 수식(포토샵 유사): 각 픽셀의 RGB를 0~1로 가정한 식을 사용(Blend 비율은 임의로 설정).
이미지 뒤집기(Image Flipping)와 인덱싱
- 픽셀 인덱스(1차원 배열): index = y*width + x
- 좌우 대칭 픽셀 인덱스: index_lr = y*width + (width - 1 - x)
- 상하 대칭 픽셀 인덱스: index_tb = (height - 1 - y)*width + x
픽셀 그룹 처리(Pixel group processing)
- 기존 예제는 원본 픽셀 ↔ 결과 픽셀의 1:1 관계(예: 각 픽셀 밝기 조절).
- 변형: 원본의 2개 픽셀로 새 픽셀 만들기
- 현재 픽셀 위치: x + y*width
- 왼쪽 픽셀 위치: (x-1) + y*width
- diff = (현재 픽셀 밝기) - (왼쪽 픽셀 밝기)
- 현재 픽셀의 RGB를 (diff, diff, diff)로 설정 → 수평 가장자리(에지)가 강조됨.
- 간단한 수평 에지 검출: 위의 diff 방식이 대표적 사례.
공간 컨볼루션(Spatial convolution)
- 주변 이웃을 동시에 사용(바로 이웃 8픽셀).
- 3×3 컨볼루션: 입력 픽셀과 주변 픽셀의 가중 평균(weighted average)을 계산해 블러·샤픈 등 효과를 구현.
'대학원 준비' 카테고리의 다른 글
| LinesSpherePlanesTriangles/직선·구·평면·삼각형 (0) | 2025.09.15 |
|---|---|
| Vectors/벡터 (0) | 2025.09.15 |
| NR (7) | 2025.08.08 |
| Facial Feature Model for a Portrait Video Stylization(인물 영상 스타일화를 위한 얼굴 특징 모델) (0) | 2025.07.08 |
| An Intuitive VR Interaction Method for Immersive Virtual Reality(몰입형 가상현실을 위한 직관적인 VR 상호작용 방법) (0) | 2025.07.07 |