Python OpenCV 강좌 : 제 34강 - 픽셀 접근
픽셀 접근(Pixel Access)
픽셀 접근
은 이미지 배열에서 특정 좌표에 대한 값을 받아오거나, 변경할 때 사용합니다.
Numpy 배열
의 요소 접근 방식과 동일하며, 직접 값을 변경하거나 할당할 수 있습니다.
OpenCV의 Mat 클래스는 Numpy 배열
을 사용하므로 문자열, 리스트, 튜플 등에 사용되는 슬라이싱
을 동일하게 사용할 수 있습니다.
메인 코드
세부 코드
회색 그라데이션 이미지인 gray
를 선언합니다.
그라데이션 이미지는 등간격(numpy.linspace)
을 활용해 구현할 수 있습니다.
등간격 배열을 생성하면, 이미지 배열이 아니므로, 차원 변경(numpy.reshape)
함수를 활용해 단일 채널 이미지로 변경합니다.
-
등간격 사용하기
: Python Numpy 4강 바로가기 -
Tip :
300×300×1
크기이 이미지를 생성할 예정이므로,num
은 90000을 갖습니다.
색상 그라데이션 이미지인 color
를 선언합니다.
Blue 채널
의 0 ~ 150 행에 gray
의 값을 할당하고, Red 채널
의 150 ~ 300 열에 gray
값을 할당합니다.
배열의 접근 방식은 배열[행 시작:행 끝, 열 시작: 열 끝, 차원 시작:차원 끝]
의 구조를 갖습니다.
슬라이싱 방법과 동일하게 접근하며 행, 열, 차원의 순서입니다.
슬라이싱 사용하기
: Python Numpy 5강 바로가기
결과
:
85
85
[85 0 85]
요소 접근시 배열 접근은 행, 열, 차원
구조이므로, y, x, 차원
의 형태로 접근해야 합니다.
그러므로, y, x, c
의 형태로 이미지 요소에 접근합니다.
만약, 차원을 포함하지 않는 경우 세 차원
모두 반환하므로, Numpy 배열
형식의 값을 반환합니다.
요소 접근에도 콜론(:)
을 통해 범위 형태로 값을 접근할 수 있습니다.
또한, 콜론(:)
을 한번 더 포함한다면 간격(step)
으로도 값을 뛰엄뛰엄 받아올 수 있습니다.
댓글 남기기