# -*- coding: utf-8 -*- import matplotlib . pyplot as plt import numpy as np import cv2 """ 区域生长算法 前提: 生长规则可以是平均灰度、纹理和颜色等 算法: 1. 顺序查找图像,找到第一个未归类的像素 (x0, y0) 2. 通过遍历该像素的四领域集合,若满足生长规则则并入区域集合; 3. 继续寻找该区域集合的四领域知道无法继续生长; 4. 重新回到步骤1,直到所有图像像素都被分类 """ path = '/XXXX/' img = cv2 . imread ( path + 'lena.jpg' ) img_gray = cv2 . cvtColor ( img , cv2 . COLOR_RGB2GRAY ) img_gray_array = np . array ( img_gray ) img_gray_array = cv2 . resize ( img_gray_array , ( 128 , 128 ) , interpolation = cv2 . INTER_LINEAR ) img_mask = np . zeros ( img_gray_array . shape ) grow_dir = [ ( 0 , 1 ) , ( 0 , - 1 ) , ( 1 , 0 ) ,