manish2607's picture
adding requirements and essentials
a563aad verified
Raw
History Blame Contribute Delete
1.22 kB
import argparse
import cv2
import numpy as np
import torch
def preprocess(image_path, size=(256, 256)):
image = cv2.imread(image_path)
if image is None:
raise ValueError(f"Could not read image: {image_path}")
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
image = cv2.resize(image, size)
image = image.astype(np.float32) / 255.0
image = np.transpose(image, (2, 0, 1))
return torch.from_numpy(image).unsqueeze(0)
def save_mask(mask, output_path):
mask = mask.squeeze()
if torch.is_tensor(mask):
mask = mask.cpu().numpy()
mask = (mask > 0.5).astype(np.uint8) * 255
cv2.imwrite(output_path, mask)
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--image", required=True)
parser.add_argument("--model", default="road_model_Deployment.pt")
parser.add_argument("--output", default="prediction_mask.png")
args = parser.parse_args()
model = torch.jit.load(args.model)
model.eval()
image_tensor = preprocess(args.image)
with torch.no_grad():
prediction = model(image_tensor)
save_mask(prediction, args.output)
print(f"Saved mask to {args.output}")
if __name__ == "__main__":
main()