728x90
728x90
사람 눈은 카메라처럼 1픽셀 단위로 따박따박 인식 X
오차가 있다.
어두운 부분을 좀 더 세밀하게 나눌 수 있다고 볼 수 있다. -> 어둠에 민감!
감마 인코딩을 거치면 훨씬 잘 나뉘어 보인다.
8비트이므로 우린 MAX = 255이다.
전파의 수, 송신 오류로 감마가 변하거나 센서의 부족함으로 감마가 입혀졌어도 다시 되돌릴 수 있다.
함수형으로 전부 바꾸는중이라 점점 단순해지는중..
void GammaOut(double* y, double g, BITMAPFILEHEADER bmpFile, BITMAPINFOHEADER bmpInfo) {
int width = bmpInfo.biWidth, height = bmpInfo.biHeight, size = bmpInfo.biSizeImage;
double* gy;
gy = (double*)calloc(width * height, sizeof(double));
for (int j = 0; j < height; j++) {
for (int i = 0; i < width; i++) {
gy[j * width + i] = 255 * pow(y[j * width + i] / 255.0, 1/g);
}
}
makeOutFile(bmpFile, bmpInfo, "gammaOut.bmp", gy);
free(gy);
}
728x90
'언어 > C' 카테고리의 다른 글
C언어 영상처리 - Rotation (0) | 2024.04.30 |
---|---|
C언어 영상처리 최종 정리 - filter, padding, upsampling (1) | 2024.04.18 |
C언어 영상처리 예정 (0) | 2024.04.17 |
C언어 영상처리 다양한 필터 (0) | 2024.04.17 |
C언어 영상처리 정리 2 - UpDownsampling, Histogram, HE.... (1) | 2024.04.15 |