본문 바로가기

OpenCV/Python

Mat 객체 활용

1. 기본 순서

1) 이미지를 imread로 가져온다

 

2) 이미지 관련 처리

3) imshow 사용해서 윈도우 띄움

4) cv2.waitKey(0) 안하면 바로꺼져버리므로 처리

-> 이거는 특별히 뭘 한다기 보다 입력을 기다리고 있는 상태를 표현한거임

2. 중요한점

- 이미지 선을 그리는거와 같은 작업을 하게 된다면, 서로 영향을 줌, 동기화 됨

- 그러나 OpenCV 함수를 적용하면, 다른 넘파이 배열에 영향을 주지 못한다!!

- 딱 함수 적용한 파일의 넘파이 배열만 바뀜

 왜? 리턴되는 객체가 입력 객체와 다르기 때문

 

 

※ is 와 ==의 차이점

is: 객체를 비교

== : 값을 비교

 

3. 이미지 복사

: 파이썬에서는 이미지를 저장하기 위해 넘파이 배열을 사용하기 때문에 copy()를 사용한다.

: 즉 copy 한 이후에, 원본 파일에 작업을 해도 이미 copy 한것에는 영향 XX

 

4. 픽셀에 접근

: 픽셀에 접근하여 값을 가져오거나 수정 가능

기본 흐름

1) 기본 이미지를 가져 오고, 수정 후 저장 할 numpy 배열을 생성

2) 픽셀에 직접 접근하여 수정

- 여기서는 r g b를 추출한 후 그레이로 색변환

- itemset 활용하여 좌표에 저장!!

 

'OpenCV > Python' 카테고리의 다른 글

그리기에 관한 것!!!!  (0) 2021.06.11
그래픽 인터페이스 (GUI)  (0) 2021.06.09
넘파이  (0) 2021.06.09
파이썬 기초 문법 -2  (0) 2021.06.01
파이썬 기초 문법  (0) 2021.05.31