| 27 | from tqdm import tqdm |
| 28 | |
| 29 | def loadImage(image_name): |
| 30 | image = cv2.imread(image_name, cv2.IMREAD_UNCHANGED) |
| 31 | height,width = image.shape[:2] |
| 32 | |
| 33 | # image dims have to be 1024,576 |
| 34 | my_image_test = cv2.resize(image, (1024,576), interpolation=cv2.INTER_LINEAR) |
| 35 | # need to be floating point |
| 36 | my_image_test = my_image_test.astype('float32') |
| 37 | my_image_test /= 255.0 |
| 38 | # apply the normalization from pytorch |
| 39 | mean=[0.485, 0.456, 0.406] |
| 40 | std=[0.229, 0.224, 0.225] |
| 41 | |
| 42 | my_image_test[..., 0] -= mean[0] |
| 43 | my_image_test[..., 1] -= mean[1] |
| 44 | my_image_test[..., 2] -= mean[2] |
| 45 | |
| 46 | my_image_test[..., 0] /= std[0] |
| 47 | my_image_test[..., 1] /= std[1] |
| 48 | my_image_test[..., 2] /= std[2] |
| 49 | my_image_test = my_image_test.transpose(2, 0, 1) |
| 50 | my_image_test = np.expand_dims(my_image_test, axis=0) |
| 51 | # final dims should be 1,3,576,1024 |
| 52 | return my_image_test,height,width |
| 53 | |
| 54 | def extractSegmentedImage(outputs, original_height, original_width, sigmoid_threshold = 0.8): |
| 55 | output_masks = outputs[0].transpose(1, 2, 0) |