def gen_random_image():
img = np.zeros((IMAGE_H, IMAGE_W, INPUT_CHANNELS), dtype=np.uint8)
mask = np.zeros((IMAGE_H, IMAGE_W, NUMBER_OF_CLASSES), dtype=np.uint8)
mask_obj1 = np.zeros((IMAGE_H, IMAGE_W, 1), dtype=np.uint8)
colors = np.random.permutation(256)
# Background
img[:, :, 0] = colors[0]
img[:, :, 1] = colors[1]
img[:, :, 2] = colors[2]
# Object class 1
obj1_color0 = colors[3]
obj1_color1 = colors[4]
obj1_color2 = colors[5]
while(True):
center_x = rn.randint(0, IMAGE_W)
center_y = rn.randint(0, IMAGE_H)
r_x = rn.randint(10, 50)
r_y = rn.randint(10, 50)
if(center_x+r_x < IMAGE_W and center_x-r_x > 0 and center_y+r_y < IMAGE_H and center_y-r_y > 0):
cv2.ellipse(img, (int(center_x), int(center_y)), (int(r_x), int(r_y)), int(0), int(0), int(360), (int(obj1_color0), int(obj1_color1), int(obj1_color2)), int(-1))
cv2.ellipse(mask_obj1, (int(center_x), int(center_y)), (int(r_x), int(r_y)), int(0), int(0), int(360), int(255), int(-1))
break
mask[:,:,0] = np.squeeze(mask_obj1)
mask[:,:,1] = np.squeeze(cv2.bitwise_not(mask_obj1))
# White noise
density = rn.uniform(0, 0.1)
for i in range(IMAGE_H):
for j in range(IMAGE_W):
if rn.random() < density:
img[i, j, 0] = rn.randint(0, 255)
img[i, j, 1] = rn.randint(0, 255)
img[i, j, 2] = rn.randint(0, 255)
return img, mask
categorical_crossentropy_example.py 文件源码
python
阅读 30
收藏 0
点赞 0
评论 0
评论列表
文章目录