[Hong] 2-1 이미지 처리 기초
본 포스트의 내용은 홍정모 그래픽스 새싹코드 파트 1을 공부하며 기록한 것으로, 직접 인용하거나 요약한 내용임을 밝힙니다. https://honglab.co.kr/courses/graphicspt1
2 - 1 이미지 처리 기초
stb 추가 설치
이미지 처리를 위해 stb를 설치한다
1
vcpkg install stb:x64-windows
이미지의 channel
RGB : 3 channels
RGBA : 4 channels (png)
메모
Blur와 Bloom 함수를 집중해서 구현
일반적으로 C++에서 헤더 하나에 클래스 하나 이런 식으로 짜는 게 좋다
Open MP : Multithreading 기반의 공유 메모리 병렬 프로그램
stb : C / C++ 이미지 처리 라이브러리
std::clamp (C++ 17) :
범위를 한정시켜서 반환 (범위에 대해 min, max 동시에)
타입 간의 변환 등을 수행할 때 미리 clamp로 범위를 잘라내고 변환
이 코드의 image 읽어들이는 방식은 구식의 C api 스타일
stbi_load로 읽어들임 → unsigned char에서 0.0f ~ 1.0f의 float으로 변경 (rgb 값 / 255.0f) → 이미지 처리 → x 255.0f → unsigned char로 이미지 저장
최신 그래픽스 파이프라인은 픽셀 값을 하나하나 지정해서 그리지 않음. 3차원 공간에서 박스를 하나 그리고 거기에 사진을 그림.
원본 이미지
천천히 밝아지고 어두워지는 것 구현
(gif로 바꾸다보니 프레임이 끊기고 화질이 떨어져보인다)
This post is licensed under CC BY 4.0 by the author.
Comments powered by Disqus.