Python Opencv cv2.Canny()테두리 검출 실현
5037 단어 Opencvcv2.Canny()테두리 검출
1.효과 도
원본 그림 VS Canny 검 측 효과 그림 은 다음 과 같 습 니 다.
2.소스 코드
# Canny 。 F , ;
# Canny 4 :
#
# 1. ( );
# 2. (SobelX、SobleY , );
# 3. ( , , , 。 。 , ( )。 , “ ” 。
# 4. ( , 。 minVal maxVal, maxVal , minVal , 。 。 “ ” , 。 , 。)
#
# minVal maxVal 。
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('zly.jpg', 0)
edges = cv2.Canny(img, 80, 200)
plt.subplot(121), plt.imshow(img, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(edges, cmap='gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
plt.show()
참조추가:OpenCV-Python 에서 Canny()인자
단계:
"""
cv2.Canny(image, # ( )
threshold1,
threshold2, # 2
[, edges[,
apertureSize[, # apertureSize:Sobel
L2gradient ]]]) # ( ):
true: L2 ( ),
false: L1 ( )。
"""
import cv2
import numpy as np
original_img = cv2.imread("qingwen.png", 0)
# canny():
img1 = cv2.GaussianBlur(original_img,(3,3),0)
canny = cv2.Canny(img1, 50, 150)
# :
_,Thr_img = cv2.threshold(original_img,210,255,cv2.THRESH_BINARY)# 210( )
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5)) #
gradient = cv2.morphologyEx(Thr_img, cv2.MORPH_GRADIENT, kernel) #
cv2.imshow("original_img", original_img)
cv2.imshow("gradient", gradient)
cv2.imshow('Canny', canny)
cv2.waitKey(0)
cv2.destroyAllWindows()
한도 값 크기 조정 프로그램
import cv2
import numpy as np
def CannyThreshold(lowThreshold):
detected_edges = cv2.GaussianBlur(gray,(3,3),0)
detected_edges = cv2.Canny(detected_edges,
lowThreshold,
lowThreshold*ratio,
apertureSize = kernel_size)
dst = cv2.bitwise_and(img,img,mask = detected_edges) # just add some colours to edges from original image.
cv2.imshow('canny demo',dst)
lowThreshold = 0
max_lowThreshold = 100
ratio = 3
kernel_size = 3
img = cv2.imread('qingwen.png')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.namedWindow('canny demo')
cv2.createTrackbar('Min threshold','canny demo',lowThreshold, max_lowThreshold, CannyThreshold)
CannyThreshold(0) # initialization
if cv2.waitKey(0) == 27:
cv2.destroyAllWindows()
Python 이 Opencv cv2.Canny()변두리 검 측 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Opencv cv2.Canny()변두리 검 측 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Opencv 학습 노트 (2): Opencv 의 기본 데이터 형식 과 데이터 구조매트릭스 데이터 형식: C 언어 에서 2 차원 데이터 중의 데이터 형식, 예 를 들 어 int, float, char 등 과 같다.Opencv 에서 행렬 의 데이터 형식 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.