class ImageProcess:
image_height =0
image_width = 0
def __init__(self,image):
self.image_height = image.shape[0]
self.image_width = image.shape[1]
def Preprocess(self,image):
copy = self.GetCopy(image)
gray = self.GetGrayScale(copy)
blur = cv2.GaussianBlur(gray,(5,5),0)
edgify = cv2.Canny(blur,50,150)
return edgify
def GetCopy(self,image):
return np.copy(image) # do not use lane_image = image ( this does not create a copy but modifies origanl array)
def GetGrayScale(self,image):
return cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)
def ShowImage(self,image):
plt.imshow(image)
plt.show()
def ReigonOfIntrest(self,image):
traingle = np.array([(200,self.image_height),(1000,self.image_height),(550,400)])
mask = np.zeros_like(image)
cv2.fillPoly(mask,traingle,255)
return mask
p = ImageProcess(image)
mask = p.ReigonOfIntrest(p.Preprocess(image))
p.ShowImage(mask)
python面向对象
于 2022-08-24 10:43:48 首次发布