728x90
반응형
#OpenCV를 활용한 이미지 크기 및 픽셀 정보 확인
import cv2
image = cv2.imread('cat2.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])
(224, 225, 3)
151200
[ 0 16 31]
31
#OpenCV를 활용한 특정 범위 픽셀 변경
import cv2
import matplotlib.pyplot as plt
import time
image = cv2.imread('cat2.jpg')
start_time = time.time()
for i in range(0, 80):
for j in range(0, 80):
image[i, j] = [255, 255, 255]
print("--- %s seconds ---" % (time.time() - start_time))
#slicing 연산
start_time = time.time()
image[0:80, 0:80] = [0, 0, 0]
print("--- %s seconds ---" % (time.time() - start_time))
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
--- 0.014579057693481445 seconds ---
--- 0.00037288665771484375 seconds ---
#OpenCV를 활용한 ROI(Region of Interest: 관심 있는 영역) 추출
import cv2
import matplotlib.pyplot as plt
image = cv2.imread('cat2.jpg')
# Numpy Slicing: ROI 처리 가능
roi = image[120:180, 120:200]
# ROI 단위로 이미지 복사하기
image[0:60, 0:80] = roi
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
#OpenCV를 활용한 픽셀별 색상 다루기
import cv2
import matplotlib.pyplot as plt
image = cv2.imread('cat2.jpg')
image[:, :, 2] = 0
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
import cv2
image = cv2.imread('cat2.jpg')
#특정 색상만 보여주기(0:Blue, 1:Green, 2:Red)
cv2.imshow('cat2', image[:, :, 0])
cv2.waitKey(0)
#특정 색상만 제거하기
image[:,:,2]=0
cv2.imshow('cat2', cat2)
cv2.waitKey(0)
728x90
반응형
'Data Analysis > Data Analysis & Image Processing' 카테고리의 다른 글
8. OpenCV Tracker (0) | 2022.04.16 |
---|---|
7. OpenCV 임계점 처리하기 (0) | 2022.04.07 |
5. OpenCV 이미지 변형 (0) | 2022.04.07 |
4. OpenCV 기본 사용법 (0) | 2022.04.07 |
3. Numpy 기본 연산 및 활용(2) (0) | 2022.04.07 |
댓글