zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然 PYTHON数据分析:糖尿病视网膜病变数据分析(续一)

    %%time
    fig = plt.figure(figsize=(25, 16))
    for class_id in sorted(train_y.unique()):
        for i, (idx, row) in enumerate(df_train.loc[df_train['diagnosis'] == class_id].sample(5, random_state=SEED).iterrows()):
            ax = fig.add_subplot(5, 5, class_id * 5 + i + 1, xticks=[], yticks=[])
            path="F:\kaggleDataSet\diabeticRetinopathy\resized train 19\"+str(row['id_code'])+".jpg"
            image = cv2.imread(path)
            image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    #         image=cv2.addWeighted ( image, 0 , cv2.GaussianBlur( image , (0 ,0 ) , 10) ,-4 ,128)
            image = cv2.resize(image, (IMG_SIZE, IMG_SIZE))
            plt.imshow(image, cmap='gray')
            ax.set_title('Label: %d-%d-%s' % (class_id, idx, row['id_code']) )

    dpi = 80 #inch
    
    # path=f"../input/aptos2019-blindness-detection/train_images/5c7ab966a3ee.png" # notice upper part
    path="F:\kaggleDataSet\diabeticRetinopathy\resized train 19\cd54d022e37d.jpg" # lower-right, this still looks not so severe, can be class3
    image = cv2.imread(path)
    image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    height, width = image.shape
    print(height, width)
    
    SCALE=2
    figsize = (width / float(dpi))/SCALE, (height / float(dpi))/SCALE
    
    fig = plt.figure(figsize=figsize)
    plt.imshow(image, cmap='gray')

    %%time
    fig = plt.figure(figsize=(25, 16))
    for class_id in sorted(train_y.unique()):
        for i, (idx, row) in enumerate(df_train.loc[df_train['diagnosis'] == class_id].sample(5, random_state=SEED).iterrows()):
            ax = fig.add_subplot(5, 5, class_id * 5 + i + 1, xticks=[], yticks=[])
            path="F:\kaggleDataSet\diabeticRetinopathy\resized train 19\"+str(row['id_code'])+".jpg"
            image = cv2.imread(path)
            image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    #         image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
            image = cv2.resize(image, (IMG_SIZE, IMG_SIZE))
            image=cv2.addWeighted ( image,4, cv2.GaussianBlur( image , (0,0) , IMG_SIZE/10) ,-4 ,128) # the trick is to add this line
    
            plt.imshow(image, cmap='gray')
            ax.set_title('Label: %d-%d-%s' % (class_id, idx, row['id_code']) )

    def crop_image1(img,tol=7):
        # img is image data
        # tol  is tolerance   
        mask = img>tol
        return img[np.ix_(mask.any(1),mask.any(0))]
    
    def crop_image_from_gray(img,tol=7):
        if img.ndim ==2:
            mask = img>tol
            return img[np.ix_(mask.any(1),mask.any(0))]
        elif img.ndim==3:
            gray_img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
            mask = gray_img>tol
            check_shape = img[:,:,0][np.ix_(mask.any(1),mask.any(0))].shape[0]
            if (check_shape == 0): # image is too dark so that we crop out everything,
                return img # return original image
            else:
                img1=img[:,:,0][np.ix_(mask.any(1),mask.any(0))]
                img2=img[:,:,1][np.ix_(mask.any(1),mask.any(0))]
                img3=img[:,:,2][np.ix_(mask.any(1),mask.any(0))]
        #         print(img1.shape,img2.shape,img3.shape)
                img = np.stack([img1,img2,img3],axis=-1)
        #         print(img.shape)
            return img
    def load_ben_color(path, sigmaX=10):
        image = cv2.imread(path)
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        image = crop_image_from_gray(image)
        image = cv2.resize(image, (IMG_SIZE, IMG_SIZE))
        image=cv2.addWeighted ( image,4, cv2.GaussianBlur( image , (0,0) , sigmaX) ,-4 ,128)
        return image
    %%time
    
    NUM_SAMP=7
    fig = plt.figure(figsize=(25, 16))
    for class_id in sorted(train_y.unique()):
        for i, (idx, row) in enumerate(df_train.loc[df_train['diagnosis'] == class_id].sample(NUM_SAMP, random_state=SEED).iterrows()):
            ax = fig.add_subplot(5, NUM_SAMP, class_id * NUM_SAMP + i + 1, xticks=[], yticks=[])
            path="F:\kaggleDataSet\diabeticRetinopathy\resized train 19\"+str(row['id_code'])+".jpg"
            image = load_ben_color(path,sigmaX=30)
            plt.imshow(image)
            ax.set_title('%d-%d-%s' % (class_id, idx, row['id_code']) )

  • 相关阅读:
    使用sublimehighlight 将文本 转化html
    iOS- 制作U盘安装Mac OS X 系统
    Win10 UWP vs add github
    Win10 Migrate apps to the Universal Windows Platform (UWP)
    lintcode 刷题记录··
    C# 用tabcontrol实现窗体类似网页排版的显示
    python 爬虫初试
    二叉查找树,查找二维数组
    网页版扫雷游戏···
    C# 读写xml、excel、word、ppt、access
  • 原文地址:https://www.cnblogs.com/tszr/p/11237604.html
Copyright © 2011-2022 走看看