_, binary = cv2.threshold(gray, 10, 255, cv2.THRESH_BINARY) # 第二个参数是阈值,用来分类像素值的。第三个参数是在像素值大于阈值时的最大值。OpenCV提供了不同风格的阈值,由第四个参数决定。
标注矩形bounding box
cv2.rectangle(img, (x,y), (x+w,y+h), (B,G,R), Thickness)
寻找最大面积的轮廓
_, contours, hierarchy = cv2.findContours(canny, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
#cv2.drawContours(img, contours, -1, (0, 0, 255), 3)
maxArea = 0
for i in range(len(contours)):
if (cv2.contourArea(contours[i]) > cv2.contourArea(contours[maxArea])):
maxArea = i
approx = cv2.approxPolyDP(contours[maxArea], 10, True)
print(cv2.contourArea(contours[maxArea]))
cv2.polylines(img, [approx], True, (0, 255, 0), 2)
cv2.imshow("img", img)
cv2.waitKey(0)
去冗余
l1 = [‘b’,‘c’,‘d’,‘b’,‘c’,‘a’,‘a’]
l2 = list(set(l1))
l2.sort(key=l1.index)
print l2