728x90
반응형
속성을 가져오기 코드
import numpy as np
import cv2
img = cv2.imread("../resource/Images/ipad.jpeg")
print(img.shape)
print(img.size)
print(img.dtype)
결과
이미지 ROI
이미지를 처리할 때 특정 영역에서 작업이 이루어지는 경우가 있습니다. 이럴 때 ROI를 사용하여 특정 구역을 인덱싱하여 사용할 수 있습니다.
코드
import numpy as np
import cv2
img = cv2.imread("../resource/Images/ipad.jpeg")
cv2.namedWindow('original', cv2.WINDOW_NORMAL)
cv2.imshow('original', img)
subImg = img[300:400, 350:750]
cv2.namedWindow('cutting', cv2.WINDOW_NORMAL)
cv2.imshow('cutting', subImg)
print(img.shape)
print(subImg.shape)
cv2.waitKey(0)
cv2.destroyAllWindows()
코드 설명
img[300:400, 350 : 750]
사용하여 x축 300에서 400까지 y축 350에서 750까지의 구역을 짤라서 보여 줄 수 있다.
결과
왼쪽 오리지널 오른쪽 cutting이미지 채널 분할 및 합치기
필요시 컬러 이미지의 경우 B, G, R을 채널 별로 픽셀값을 따로 분리해 놓을 수 있다. 그리고 분리한 b, g, r을 다시 합칠 수 도 있습니다.
색 분리 해주는 코드
import numpy as np
import cv2
img = cv2.imread("../resource/Images/ipad.jpeg")
b, g, r = cv2.split(img)
print(img[100, 100])
print(b[100, 100], g[100, 100], r[100, 100])
코드 설명
b, g, r = cv2.split(img)
split을 통해서 이미지의 bgr값을 분리할 수 있습니다. 예를 들어서 위의 코드처럼 b, g, r을 채널별로 나눌 수 있습니다.
결과
분리한 채널 보여주기
import numpy as np
import cv2
img = cv2.imread("../resource/Images/ipad.jpeg")
b, g, r = cv2.split(img)
def showImage(window, img):
cv2.namedWindow(window, cv2.WINDOW_NORMAL)
cv2.imshow(window, img)
showImage("original", img)
showImage("b", b)
showImage("g", g)
showImage("r", r)
cv2.waitKey(0)
cv2.destroyAllWindows()
분리된 채널의 값을 imshow에 넣어 주었습니다.
결과
분리한 채널을 다시 합치기 코드
mergeImage = cv2.merge((b, g, r))
showImage("merge", mergeImage)
merge 후 showImage에 배열과 window이름을 추가해주면 아래와 같이 원본 사진이 나온다.
결과
Appendix
split은 성능상으로 좋지 못하다 그래서 numpy inexing을 사용해주면 더 효율적으로 사용할 수 있다.
b = img[:, :, 0]
g = img[:, :, 1]
r = img[:, :, 2]
출처: https://hoony-gunputer.tistory.com/entry/opencv-python-roi-및-속성-채널 [후니의 컴퓨터]
728x90
반응형
'etc > FastCampus 챌린지' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 46 회차 (0) | 2020.12.03 |
---|---|
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 45 회차 (0) | 2020.12.02 |
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 43 회차 (0) | 2020.11.30 |
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 42 회차 (0) | 2020.11.29 |
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 41 회차 (0) | 2020.11.28 |