반응형

안녕하세요, 츄르 사려고 코딩하는 집사! 코집사입니다.

이번 글은 영상처리 파이썬을 이용한 이미지 채널정보 접근입니다.



1. 소스 코드

import numpy as np

import os

import cv2

#현재 실행되고 있는 경로 값을 얻어서 이미지 경로를 조합

cur_path=os.getcwd()

img_name='live.jpg'

image_path = os.path.join(cur_path, img_name)

#컬러로 이미지 읽기

img_src = cv2.imread(image_path, cv2.IMREAD_COLOR)

#이미지 보여주기

cv2.imshow('src',img_src)

cv2.waitKey(0)

cv2.destroyWindow('src')


#RGB 컬러 이미지의 변경

src_height = img_src.shape[0]

src_width = img_src.shape[1]

src_channel = img_src.shape[2]


img_modify = np.zeros(img_src.shape, dtype=img_src.dtype)

for h in range(src_height):

    for w in range(src_width):

        for c in range(src_channel):

            #0번 채널(blue)이 아닌 경우 값을 0으로 변경

            if c is not 0:

                img_modify[h,w,c] = 0

            #0번 채널인 경우 원본 값을 복사

            else:

                img_modify[h,w,c] = img_src[h,w,c]

            

#img_src[:,:,0:2] = 0 #슬라이스 연산, 인덱싱 사용가능

#원본 이미지와 변경된 이미지 보여주기

cv2.imshow('src',img_src)

cv2.imshow('mod',img_modify)

cv2.waitKey()

cv2.destroyAllWindows()



2. 결과





반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기