opencv
OpenCV 이미지 연산 [ Python 데이터 분석과 이미지 처리 ]
코딩 코딩 코오딩
2021. 6. 17. 21:26
import cv2
image = cv2.imread('cat.jpg')
# 픽셀 수 및 이미지 크기 확인
print(image.shape)
print(image.size)
# 이미지 Numpy 객체의 특정 픽셀을 가리킵니다.
px = image[100, 100]
# B, G, R 순서로 출력됩니다.
# (단, Gray Scale인 경우에는 B, G, R로 구분되지 않습니다.)
print(px)
# R 값만 출력하기
print(px[2])
(448, 680, 3)
913920
[ 86 121 161]
161
import cv2
import matplotlib.pyplot as plt
import time
image = cv2.imread('cat.jpg')
start_time = time.time()
#하나의 픽셀들을 일일히 값을 바꿔주는 과정이다.
for i in range(0, 100):
for j in range(0, 100):
image[i, j] = [255, 255, 255]
print("--- %s seconds ---" % (time.time() - start_time))
#아래와 같은 방식은 슬라이싱 연산을 이용하여 바꾸는 과정이다.
start_time = time.time()
image[0:100, 0:100] = [0, 0, 0]
print("--- %s seconds ---" % (time.time() - start_time))
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
roi
import cv2
import matplotlib.pyplot as plt
image = cv2.imread('cat.jpg')
# Numpy Slicing: ROI 처리 가능
roi = image[200:350, 50:200]
# ROI 단위로 이미지 복사하기
image[0:150, 0:150] = roi
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
import cv2
import matplotlib.pyplot as plt
image = cv2.imread('cat.jpg')
image[:, :, 2] = 0
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
이건 한번도 안해 본것이다. bgr 이미지에서 r 값을 다 0으로 바꾸는 것을 진행해 보는 것이다.
반응형