对于水墨风格的图片,如果直接迁移,会出现灰蒙蒙的天空,不符合传统水墨画的“留白”效果。因此,我们决定加上天空分割算法,对图片进行后处理,实现天空部分的“留白”。
经过天空的分类算法之后,得到的原始二值图如下:(以单张图片为例)
分割面过于凌乱,不适合直接处理,因此,使用形态学滤波中的开闭运算对图像进行处理,代码如下:
kernel = np.ones((7,7),np.uint8)
image = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)
image = cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel)
# kernel = np.ones((11,11),np.uint8)
# image = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)
# kernel = np.ones((13,13),np.uint8)
# image = cv2.dilate(image,kernel,iterations = 1)
# picture = cv2.imread("images/"+str(picnum)+".jpg")
# cv2.imshow("Image",picture)
image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
rows,cols = image.shape
ma