def circle_crop(img, sigmaX=10): """ Create circular crop around image centre """ img = cv2.imread(img) img = crop_image_from_gray(img) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) height, width, depth = img.shape x = int(width/2) y = int(height/2) r = np.amin((x,y)) circle_img = np.zeros((height, width), np.uint8) cv2.circle(circle_img, (x,y), int(r), 1, thickness=-1) img = cv2.bitwise_and(img, img, mask=circle_img) img = crop_image_from_gray(img) img=cv2.addWeighted ( img,4, cv2.GaussianBlur( img , (0,0) , sigmaX) ,-4 ,128) return img
%%time ## try circle crop 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 = circle_crop(path,sigmaX=30) plt.imshow(image) ax.set_title('%d-%d-%s' % (class_id, idx, row['id_code']) )
dpi = 80 #inch path="F:\\kaggleDataSet\\diabeticRetinopathy\\resized train 19\\cd54d022e37d.jpg" image = load_ben_color(path,sigmaX=10) height, width = IMG_SIZE, IMG_SIZE print(height, width) SCALE=1 figsize = (width / float(dpi))/SCALE, (height / float(dpi))/SCALE fig = plt.figure(figsize=figsize) plt.imshow(image, cmap='gray')
%%time NUM_SAMP=10 fig = plt.figure(figsize=(25, 16)) for jj in range(5): for i, (idx, row) in enumerate(df_test.sample(NUM_SAMP,random_state=SEED+jj).iterrows()): ax = fig.add_subplot(5, NUM_SAMP, jj * NUM_SAMP + i + 1, xticks=[], yticks=[]) path="F:\\kaggleDataSet\\diabeticRetinopathy\\resized test 19\\"+str(row['id_code'])+".jpg" image = load_ben_color(path,sigmaX=30) plt.imshow(image) ax.set_title('%d-%s' % (idx, row['id_code']) )