def plot_colorspaces(rgb,name): r = rgb[:,:,0] req = equalizeHist(r) g = rgb[:,:,1] b = rgb[:,:,2] dsp_images= [(name+'_rgb',rgb),('r',r),('req',req),('g',g),('b',b)] plot_images(dsp_images) plt.show() hls,h,l,s = rgb2hls(rgb) seq = cv2.equalizeHist(s) dsp_images= [(name+'_hls',hls),('h',h),('l',l),('s',s),('seq',seq)] plot_images(dsp_images) plt.show() hsv,h,s,v = rgb2hsv(rgb) veq = cv2.equalizeHist(v) dsp_images = [(name+'_hsv',hsv),('h',h),('s',s),('v',v),('veq',veq)] plot_images(dsp_images) plt.show() lab,l,a,b = rgb2lab(rgb) leq = cv2.equalizeHist(l) beq = cv2.equalizeHist(b) dsp_images= [(name+'_lab',lab),('l',l),('leq',leq),('a',a),('b',b),('beq',beq)] plot_images(dsp_images) plt.show()
def plot_rsvl(rgb, name): r = rgb[:,:,0] req = cv2.equalizeHist(r) rmask = mask(req, (252, 255)) dsp_images = [(name+'_req',req),('rmask', rmask)] hls,h,l,s = rgb2hls(rgb) seq = cv2.equalizeHist(s) smask = mask(seq, (253, 255)) dsp_images += [(name+'_seq',seq),('smask', smask)] hsv,h,s,v = rgb2hsv(rgb) veq = cv2.equalizeHist(v) vmask = mask(veq, (252, 255)) dsp_images += [(name+'_veq',veq),('vmask', vmask)] lab,l,a,b = rgb2lab(rgb) leq = cv2.equalizeHist(l) lmask = mask(leq, (252, 255)) dsp_images += [(name+'_leq',leq),('lmask', lmask)] comb = np.zeros_like(r) comb[(rmask==1)|(vmask==1)|(lmask==1)] =1 dsp_images += [('comb',comb)] plot_images(dsp_images) plt.show()
def combine1(img, gray): grdx = gradient_thresh(gray, "x", 5, (30,100)) _,_,l,s = rgb2hls(img) maskS = mask(s,(170,255)) maskL = mask(l,(10,255)) comb = np.zeros_like(maskS) comb[((maskS == 1)&(maskL==1)) | (grdx == 1)] = 1 # return [('grdx',grdx),('maskS',maskS),('grdx | maskS',comb)] return [('grdx | maskS',comb)]
def combine2(img, gray): grdx = gradient_thresh(gray, "x", 5, (20,100)) grdy = gradient_thresh(gray, "y", 5, (20,100)) mag = gradient_mag_thresh(gray, ksize=7, mask_range=(30,100)) dir = gradient_dir_thresh(gray, ksize=9, mask_range=(0.7,1.3)) hls,h,l,s = rgb2hls(img) maskS = mask(s,(170,255)) maskH = mask(h,(15,100)) comb = np.zeros_like(maskS) comb[((maskS == 1)&(maskH==1)) | (grdx == 1)] = 1 return ('grdx|(maskS & maskH)',comb)
def combine3(img, gray): grdx = gradient_thresh(gray, "x", 5, (20,100)) grdy = gradient_thresh(gray, "y", 5, (20,100)) mag = gradient_mag_thresh(gray, ksize=5, mask_range=(30,100)) dir = gradient_dir_thresh(gray, ksize=5, mask_range=(1.0,1.7)) hls,h,l,s = rgb2hls(img) maskS = mask(s,(150,255)) maskH = mask(h,(15,20)) maskL = mask(l,(30,40)) comb = np.zeros_like(maskS) comb[((maskH == 1))] = 1 return ('(yellowish&dir)',comb)
def lanes_rsvl(rgb): r = rgb[:,:,0] req = cv2.equalizeHist(r) rmask = mask(req, (252, 255)) hls,h,l,s = rgb2hls(rgb) seq = cv2.equalizeHist(s) smask = mask(seq, (252, 255)) hsv,h,s,v = rgb2hsv(rgb) veq = cv2.equalizeHist(v) vmask = mask(veq, (252, 255)) lab,l,a,b = rgb2lab(rgb) leq = cv2.equalizeHist(l) lmask = mask(leq, (252, 255)) beq = cv2.equalizeHist(b) bmask = mask(beq,(252,255)) comb = np.zeros_like(r) comb[(rmask==1)|(vmask==1)|(lmask==1)|(bmask==1)] =1 return comb