728x90

목표


  • 픽셀값을 접근하고 수정
  • 이미지 속성에 접근
  • 관심영역 설정(ROI)
  • 이미지 분할 및 병합

픽셀값을 접근하고 수정


import numpy as np
import cv2 as cv

img = cv.imread('iu.png')

px = img[100, 100]
print(px)

blue = img[100, 100, 0]
print('blue', blue)

green = img[100, 100, 1]
print('green', green)

red = img[100, 100, 2]
print('red', red)

img[100, 100] = [255, 255, 255]
print(img[100, 100])

하지만 이렇게 각 픽셀에 접근해서 수정하는것은 빠른방법이 아니라 권장하지는 않는다.

import numpy as np
import cv2 as cv

img = cv.imread('iu.png')

blue = img.item(100, 100, 0)
print('blue', blue)

green = img.item(100, 100, 1)
print('green', green)

red = img.item(100, 100, 2)
print('red', red)

img.itemset((100, 100, 0), 255)
img.itemset((100, 100, 1), 255)
img.itemset((100, 100, 2), 255)

print(img.item(100, 100, 0), img.item(100, 100, 1), img.item(100, 100, 2))

이렇게 사용하는게 더 효과적이라고 한다.

이미지 속성에 접근


import numpy as np
import cv2 as cv

img = cv.imread('iu.png')

print(img.shape)

print(img.size)

print(img.dtype)

이미지 ROI


import numpy as np
import cv2 as cv

img = cv.imread('iu.png')

bro = img[0:100, 0:200]
img[0:100, 400:600] = bro

cv.imshow("test", img)

cv.waitKey(0)

왼쪽 0,0 에서 100, 200에있는 “아는형님” 이미지를 반대편으로 옮겨 보았다.

'언어 > OpenCV(Python)' 카테고리의 다른 글

[OpenCV]색공간 변경  (0) 2022.03.23
[OpenCV]이미지 연산  (0) 2022.03.22
[OpenCV]드로잉함수  (0) 2022.03.18
[OpenCV]비디오 가져오기  (0) 2022.03.17
[OpenCV]이미지 가져오기  (0) 2022.03.16