depth-map / app.py
shireenchand's picture
Update app.py
5fc6dd1
raw
history blame contribute delete
890 Bytes
import gradio as gr
import numpy as np
import cv2
import os
from PIL import Image
import matplotlib.pyplot as plt
def depthMap(imgL,imgR):
imgL = cv2.cvtColor(imgL, cv2.COLOR_RGB2GRAY)
imgR = cv2.cvtColor(imgR, cv2.COLOR_RGB2GRAY)
stereoMatcher = cv2.StereoBM_create()
stereoMatcher.setMinDisparity(4)
stereoMatcher.setNumDisparities(128)
stereoMatcher.setBlockSize(21)
stereoMatcher.setSpeckleRange(16)
stereoMatcher.setSpeckleWindowSize(45)
disparity = stereoMatcher.compute(imgL,imgR)
gray = plt.get_cmap('gray')
disparity = disparity - np.min(disparity)
disparity = disparity / np.max(disparity)
disparity = gray(disparity)[:, :, :3]
return disparity
leftCam = gr.inputs.Image(type="numpy")
RightCam = gr.inputs.Image(type="numpy")
map = gr.Interface(fn=depthMap,
inputs=[leftCam,RightCam],
outputs="image").launch(debug=True),