본문 바로가기

분류 전체보기252

[컴퓨터그래픽스] 기하학적 처리 정리 기하학적 처리 화소들의 위치를 변경 확대 사상을 통한 확대의 문제(화질 저하, 계단 현상)를 해결하기 위해 역방향 사상과 양선형 보간법을 활용 선형 보간법 두 포인트 간 비율 계산을 통해 적절한 값 도출, O = (1-k) * a + (k) * b 양선형 보간법 선형 보간법을 세번 사용, 위 x축과 아래 x축의 선형 보간을 계산하여 두 값의 y축 선형 보간 적용 축소 단순 축소의 경우 원본 픽셀 소실, 축소 전 흐리기 적용(서브샘플링) 또는 평균값 필터링을 통해 어느 정도 데이터 유실 방지 회전 전방향 사상 시, 빈 공간 발생 -> 역방향 사상 및 중심점 기준 회전을 통해 문제를 해결, 회전 각도에 따라 출력영상의 크기는 달라진다. (일반적으로는 다 커짐) 각 회전 계산식 : 2023. 4. 25.
[컴퓨터그래픽스] 영역 기반 처리 방법 정리 회선 영역 기반 처리를 위한 기본적인 기법 M:N 회선 마스크를 통해 영역 처리, 이산 또는 연속적인 영역에 따른 계산 법이 약간 차이가 있음, weighted sum 회선 마스크의 특징 - 마스크의 크기는 홀수 -> 동일한 영역의 크기의 마스크가 모든 화소에 적용되어야 함 - 주로 계수들의 합 1, 일부 마스크는 계수 합이 0 영상의 경계처리 방법 임의로 0 삽입 중첩되는 부분만 회선 처리 원본의 크기 확장(임의 0 삽입이 아닌 가장자기 값 복사 등..) 영역 기반 처리 입력 화소와 주위 화소, 즉 영역 통해 출력 화소 결정. 주변의 픽셀에 영향이 있음 회선 기법을 주로 사용 영상 흐리게 하기 주위 픽셀 값들 차를 줄여서 구현 (나눗셈 회선 마스크) 참고) Gaussian Smoothing : 더 성능.. 2023. 4. 25.
[컴퓨터그래픽스] 픽셀 기반 처리 방법 정리 디지털 영상 생성 현실의 영상을 디지털화하기 위해서 샘플링(픽셀)과 양자화(몇 단계의 밝기로 근사화) 두 단계를 통해 생성 샘플링과 양자화에 대한 좋은 유투브 설명 : https://www.youtube.com/watch?v=JPdMQ9-wJyw 컬러 모델 다양한 분야에 맞는 컬러 모델 존재, CMY, RGB, HSI 등 다양한 컬러 모델 존재 HSI (색상, 채도, 명도) 많은 영상처리에서 HSI 모델 사용 -> RGB모델을 HSI모델로 변환해야 함 픽셀 기반 처리 그래픽의 픽셀을 변경하는 처리, 다른 픽셀에 영향 없음 산술 연산 각 픽셀에 일정한 값을 + - * % (산술 연산) 영상의 밝기 조절 : 덧셈, 뺄셈 영상의 명암 대비 조절 : 곱셈, 나눗셈 나눗셈을 하는 경우 픽셀 간 오차가 상대적으로 .. 2023. 4. 25.
[선형대수] 핵, 퇴역 공간과 퇴화차수 , 치역, 치역 공간과 계수 벡터 공간 V, W에 대하여 T : V -> W은 선형 변환이다. 이때.. 핵, 퇴역 공간, 퇴화차수 핵(퇴역 공간) : T(v) = 0, 선형 변환을 통해 결과가 0이 되는 벡터의 집합 퇴화 차수 : 핵의 차원 치역, 치역 공간, 계수 치역(치역 공간) : 해당 선형 변환을 통해 나올 수 있는 모든 경우의 집합 계수 : 치역의 차원 2023. 4. 24.
[OpenGL] 변환 (회전, 이동, 크기 변경) 변환 행렬 초기화 OpenGL에서는 아래와 같은 변환을 위해 변환행렬을 사용합니다. 만일 이전에 사용한 병환 행렬을 초기화하지 않으면 원하는 결과가 나오지 않을 수 있습니다. 아래 함수 호출을 통해 변환 행렬을 항등 행렬로 초기화합니다. glLoadIdentity(); 회전 (Rotation) 기존 위치 기준 0.0 이 아닌 축을 기준으로 주어진 각도만큼 회전합니다. 일반적으로 z축을 기준으로 회전시킵니다. glRotatef(각도, x, y, z); 이동 (Translation) 기존 위치 기준 (일반적으로 중심점)에서 각 좌표계에서 입력한 파라미터 만큼 입력합니다. glTranslatef(x, y, z) 크기 조정 (Scaling) 해당 좌표계의 값이 1.0이 아니면 지정한 비율만큼 확장, 축소합니다... 2023. 4. 24.
[OpenGL] 삼각형 그리기 일반 삼각형 일반적인 삼각형을 생성합니다. GL_TRIANGLES를 파라미터로 받습니다. glBegin(GL_TRIANGLES); glVertex3f(x1, y1, z1); glVertex3f(x2, y2, z2); glVertex3f(x3, y3, z3); glEnd(); 삼각형 스트립 여러 개의 삼각형으로 이루어진 스트립을 생성합니다. GL_TRIANGLE_STRIP 파라미터를 사용합니다. glBegin(GL_TRIANGLE_STRIP); glVertex3f(x1, y1, z1); glVertex3f(x2, y2, z2); glVertex3f(x3, y3, z3); glVertex3f(x4, y4, z4); glVertex3f(x5, y5, z5); glEnd(); 삼각형 팬 하나의 중심점을 기준으로.. 2023. 4. 24.