픽셀접근(중요!)
[C++ opencv] 이미지의 pixel 데이터 접근하기, 색상 정보 확인하기 (tistory.com)
문제풀이 헷갈림 주의] 데이터접근 글쓴이가 내준 문제에서 행렬은 일반적인 행렬 즉 1부터 시작하는 행렬,(컴터입장에선 0으로, 문제는 사람 입장으로 봄))
0~8 번째 데이터: 1행 (컴터입장으로 바라본 데이터)
9~17번째 데이터 : 2행
18~26: 3행
(중요!)
[핵심]
Mat클래스의 초기화 메소드로 ones(), eye(), zeros()가 있다.
- ones()는 행렬의 모든 원소값을 1로 반환한다.
- eye()는 top left에서 bottom right까지 대각선 방향의 원소값만 1로하고 나머지 원소들은 0으로 반환한다.
- zeros()는 행렬의 모든 원소값을 0으로 반환한다.
Mat클래스는 다양한 멤버변수와 멤버메소드가 존재한다.
멤버변수
- dims - 차원 수
- rows - 행의 개수
- cols - 열의 개수
- data - 행렬 원소 데이터에 대한 포인터
- step - 행렬의 한 행이 차지하는 바이트 수
멤버메소드
- channels() - 행렬의 채널 수 반환
- depth() - 행렬의 깊이값 반환
- elemSize() - 행렬의 한 원소에 대한 바이트 크기 반환
- elemSize1() - 행렬의 한 원소의 한 채널에 대한 바이트 크기 반환
- empty() - 행렬 원소가 비어있는지 여부 반환
- isSubmatrix() - 참조 행렬인지 여부 반환
- size() - 행렬의 크기를 Size형으로 반환
- step1() - step을 elemSize1()로 나누어서 정규화된 step 반환
- total() - 행렬 원소의 전체 개수 반환
- type() - 행렬의 데이터 타입(자료형 + 채널 수)반환
픽셀용량
1픽셀당 3byte 데이터가 들어감.[핵심]
[텀즈] pixel ("picture element"의 단축형) ; 화소 (terms.co.kr)
픽셀용량 계산법 : 네이버 블로그 (naver.com)