본문 바로가기

컴퓨터공학 & 정보통신87

[컴퓨터그래픽스] 기하학적 처리 정리 기하학적 처리 화소들의 위치를 변경 확대 사상을 통한 확대의 문제(화질 저하, 계단 현상)를 해결하기 위해 역방향 사상과 양선형 보간법을 활용 선형 보간법 두 포인트 간 비율 계산을 통해 적절한 값 도출, 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.
[컴퓨터그래픽스] 히스토그램 평활화 vs 명암 대비 스트레칭 둘 다 기존 이미지 명암을 개선하기 위해 사용하는 이미지 처리 기법인데, 두 기법의 차이는 무엇인가요? 유투브에서 이해하기 좋은 내용을 보고 블로그 글로 작성합니다. 히스토그램 평활화 (Histogram Equalization) 기존 영상의 명암 값 분포를 재분배하여 일정한 분포(주로 정규분포)를 가진 새 히스토그램을 생성합니다. 평활화 단계 1. 입력 영상의 히스토그램 생성 2. 빈도수의 누적값 계산 3. 누적값 정규화 (N은 전체 픽셀 수 입니다.) 4. 정규화한 값을 통해 영상 생성 명암 대비 스트레칭 (Contrast stretching) 기존 영상의 분포 형태를 유지하되, 최댓값과 최솟값을 활용하여 스트레칭합니다. 주로 중앙에 빈도수가 몰려있는 영상을 처리할 때 유용한 기법입니다. 계산 두 기법.. 2023. 4. 19.
[프로그래머스] 게임 맵 최단거리 접근 DFS 또는 BFS로 풀 수 있지만 DFS로 풀었다가는 TLE에 걸릴 수 있다는 점에 명심해야 한다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/1844 솔루션 def solution(maps): ROW_length = len(maps) COL_length = len(maps[0]) visited = [[False for _ in range(COL_length)] for _ in range(ROW_length)] queue = [[0,0,1]] while queue: ROW, COL, DIST = queue.pop(0) # 조건에 맞지 않는 경우는 모두 추가 탐색하지 않습니다. if ROW ROW_leng.. 2023. 4. 16.