Python opencv 2 와 opencv 3 의 cv2. find Contours 함수 사용
cv2. find Contours 함 수 는 이미지 윤곽 을 그 리 는 방법 으로 윤곽 을 검사 합 니 다.
Opencv 2 cv2. findContours 윤곽 검사
이 함 수 는 이미지 처리 에 자주 사용 되 며 처리 한 그림 이 2 값 그림 이라는 것 을 기억 합 니 다.
코드 구현
import cv2
img = cv2.imread(' ')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret, binary = cv2.threshold(gray,127,255,cv2.THRESH_BINARY) # ,
contours, hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img,contours,-1,(0,0,255),3)
cv2.imshow("img", img)
cv2.waitKey(0)
함수 원형
cv2.findContours(image, mode, method[, contours[, hierarchy[, offset ]]])
두 값 을 되 돌려 줍 니 다: contours: hierarchy.
매개 변수 소개 첫 번 째 매개 변 수 는 윤곽 을 찾 는 그림 입 니 다.
두 번 째 매개 변 수 는 윤곽 을 나타 내 는 검색 모델 로 네 가지 가 있다. (본 고 는 모두 새로운 cv2 인터페이스): cv2. RETREXTERNAL 은 외부 윤곽 cv2. RETR 만 검출LIST 검 측의 윤곽 은 등급 관 계 를 맺 지 않 습 니 다 cv2. RETRCCOMP 는 두 등급 의 윤곽 을 만 들 고 위의 한 층 은 외부 경계 이 며 안의 한 층 은 내부 구멍 의 경계 정보 입 니 다.만약 내 공 안에 또 하나의 연결 물체 가 있다 면, 이 물체 의 경계 도 꼭대기 층 에 있다.cv2.RETR_트 리 는 등급 트 리 구조의 윤곽 을 세운다.
세 번 째 매개 변수 method 는 윤곽 의 유사 방법 cv2. CHAINAPPROX_NONE 는 모든 윤곽 점 을 저장 합 니 다. 인접 한 두 점 의 픽 셀 위치 차 이 는 1 을 초과 하지 않 습 니 다. 즉, max (abs (x1 - x2), abs (y2 - y1) = 1 cv2. CHAINAPPROX_SIMPLE 압축 수평 방향, 수직 방향, 대각선 방향의 요 소 는 이 방향의 종점 좌표 만 유지 합 니 다. 예 를 들 어 사각형 윤곽 은 4 개의 점 으로 윤곽 정 보 를 저장 합 니 다 cv2. CHAINAPPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS 는 teh - Chinl chain 유사 알고리즘 을 사용 합 니 다.
cv2. find Contours () 함 수 는 두 개의 값 을 되 돌려 줍 니 다. 하 나 는 윤곽 자체 이 고 다른 하 나 는 모든 윤곽 에 대응 하 는 속성 입 니 다.
Opencv 3 cv2. findContours 윤곽 검사
http://blog.csdn.net/jjddss/article/details/73527990 코드 구현
improve cv2
improve numpy as np
img=cv2.imread('test.jpg')
imgray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh=cv2.thrshold(imgray,127,255,0)
image,cnts,hierarchy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.imshow('imageshow',image) # ** image, thresh **
cv2.waitKey()
print(np.size(cnts)) # ** **
print(cnts[0]) # , 0, 0--( -1),
print(hierarchy) #** **
img=cv2.drawCountours(img,[cnts[0]],-1,(0,255,0),10) # 0
cv2.imshow('drawimg',img)
cv2.waitKey()
opencv 2 와 달리 출력 된 매개 변수 가 변화 하 는 것 은 주의해 야 합 니 다.또 하나의 함수: OpenCV 의 cv2. draw Contours 는 그림 에 윤곽 을 그립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.