| | |
| | | if one_number != '@': |
| | | return_numbers.append([x, one_number]) |
| | | else: |
| | | return return_numbers, False |
| | | return -1, False |
| | | cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) |
| | | contours_count += 1 |
| | | cv2.imshow('frame', image) |
| | |
| | | def check_one_frame(frame): |
| | | return_numbers, staus_check = get_digit(frame) |
| | | print(return_numbers) |
| | | digit = 0 |
| | | digit = -1 |
| | | global fail_count |
| | | if staus_check: |
| | | if len(return_numbers) == 3: |
| | |
| | | max_val = cv2.minMaxLoc(res)[1] |
| | | source.append(max_val) |
| | | #print(max(source)) |
| | | if max(source) > 0.5 : |
| | | if max(source) > 0.3 : |
| | | return str(digits[source.index(max(source))][1]) |
| | | else: |
| | | return "@" |
| | |
| | | return_numbers = [] |
| | | contours_count = 0 |
| | | image_h = image.shape[0] |
| | | digit = -1 |
| | | for c in contours: |
| | | x, y, w, h = cv2.boundingRect(c) |
| | | #if image_h*0.98 > h > image_h * 0.3: |
| | |
| | | if one_number != '@': |
| | | return_numbers.append([x, one_number]) |
| | | else: |
| | | return return_numbers, False |
| | | return digit, False |
| | | if len(return_numbers)==0: |
| | | return 0,False |
| | | digit = 0 |
| | | return digit,False |
| | | return_numbers = np.array(sorted(return_numbers)) |
| | | return_numbers = return_numbers[:, -1] |
| | | if len(return_numbers) < 3: |