학교에서 기본적으로 카메라의 얼굴 영상은 사용자의 실제화면과 좌우가 바뀐 영상이다.
OpenCV에서는 배열을 옵션에 따라 여러 방향 뒤집음 배열 자체를 처리하는 함수를 제공함.
Cv2.flip(src, flipCode[, dst]) -> dst
입력된 2차원 배열을 수직, 수평, 양축으로 뒤집을 수 있다.
Repeat : 입력 배열의 반복된 복사본으로 출력 배열을 채움
Src, dst 입력배열, 출력 배열
Ny, nx 수직방향, 수평방향 반복 횟수
Transpose : 전치 행렬을 만듦.
이렇게 2행 4열을
4행 2열 전치 행렬로 바꿀 수 있다.
A > A의 T승처럼 T를 붙이면 전치 행렬이 된다.
OpenCV에는 RGB를 BGR로 바꾸는데
Merge와 split을 사용해서 채널을 합치거나, 분리 할 수 있다.
---------------------2주차 ----------------------
행렬 연산 << 내용 알기
이런걸 원소 간 연산이라고 함.
cv2.add -> 원소 간 합을 계산
saturate() - 0이하는 0으로 255이상은 255로 범위를 한정시키는 연산임.
subtrack : 원소간 차분을 계산함 (뺄셈)
multiply: 원소 간 곱을 계산함
divide : 원소 간 나눗셈을 수행함.
addWeighted : 원소에 가중치를 곱한 후에 각 원소 간 합 즉, 가중된 합을 계산함.
논리 연산함수
bitwise_and() : 논리곱(AND( 연산
bitwise _OR
bitwise _XOR
bitwise _NOT 이렇게됨.
이진화(binary) : 동영상이나 이미지의 특정 값을 기준으로 값이 높거나 낮은 픽셀을 모든 펙셀에 대해 검은색 또는 흰색의 값으로 변경하는 연산
cv2.threshold를 쓴다.
오츠 알고리즘: << 암기하기
입력된 이미지의 밝기 분포를 통해 최적의 임계값을 찾아 이진화를 적용하는 알고리즘
적응형 이진화 알고리즘 :
입력 이미지에 따라 임계값이 스스로 다른 값을 할당할 수 있도록 구성된 이진화 알고리즘
------------ 3주차 -------------
absdiff :원소 간 차분 절대값을 계산함
convertScaleAbs :원소에 alpha 만큼 배율을 곱하고, beta 만큼 더한 후 절대 값을 계산한 결과를 8비트 자료형으로 변환함.
minMaxLoc ->
입력 배열에서 최소값과 최대값, 최소값과 최대값을 갖은 원소의 위치를 반환함.
minVal, maxVal 최소값, 최대값
minLoc, maxLoc 최소값, 최대값을 갖는 원소 위치
min -> 작은 값
max -> 큰 값
최소값과 최대값을 이용해서 화질 개선 예제
cv2.reduce()에서
dim = 0: 한 행으로 감축
dim = 1 : 한열로 감축
AVG는 평균을 구하는 거임.
원본을 변경하지 않고 복사본 생성은 np.sort()
sortIdx() 함수는 행렬의 원소를 직접 정렬 x , 정렬된 원소의 원본 좌표(정렬 인덱스)를 반환하여 원소의 값이 아닌 다른 기준으로 정렬할 때 사용.
reduce()함수를 이용하면 축소하는 값을 알 수 있다.
dim = 0: 한 열으로 감축 (세로)
dim = 1 : 한 행으로 감축 (가로)
m, dim=0 rtype=cv2.REDUCE_SUM # 0 – 열 방향 축소임. 그리고 축소 값은 전부다 합하면된다.
'📜✏️노트 자리없어서 적는 IT 지식📜✏️' 카테고리의 다른 글
컴퓨터 정보 보안 - 1주차 공부 (0) | 2024.11.25 |
---|---|
컴퓨터비전(computer vision) - 6주차 (0) | 2024.11.24 |
컴퓨터 비전(computer vision) - 4주차 셤 공부 (0) | 2024.11.22 |
컴퓨터 비전(computer vision) 3주차 정리 (0) | 2024.11.21 |
컴퓨터 비전(computer vision) - 1 & 2주차 셤 공부 (7) | 2024.11.20 |