졸업프로젝트 🎓/OpenCV 🌉

[ OpenCV ] 이미지 영역 추출하기, 영역 그리기

컴공생 C 2021. 1. 12. 23:30
반응형
import numpy as np
import cv2
from matplotlib import pyplot as plt

def contour():
	#파일 불러오기
    imgfile = '/content/drive/MyDrive/crop/suwan.png'
    img=cv2.imread(imgfile)
    imgray=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #이미지 BGR에서 흑백으로 변환

    edge = cv2.Canny(imgray, 150, 200) #Canny 알고리즘 이용 이미지의 edge를 검출
    cv2_imshow(edge)
	
    contours, hierarchy = cv2.findContours(edge, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
    #이미지의 모든 외곽을 검출. 입력변수로 흑백이미지, 생성이 되어질 계층구조 어떤식으로 외곽선을 만들지를 준다.

    cv2.drawContours(img, contours, -1, (0, 255, 0), 1) 
    #src에 윤곽선을 그리는 함수 3번째 인자는 윤곽선의 인덱스 4번째는 색깔 5번쨰는 색깔을 가리킨다.
    
    cv2_imshow(img)


if __name__ == "__main__":
    contour()

 

edge, contours, heirarchy= cv2.findContours(edge, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

 

반응형