pythonランダムソリッド円を描画し、ラベルを保存
import numpy as np import cv2 import os
def main(): ann_images = ‘D:/University/Data/images/’ ann_savepath = ‘D:/University/Data/landmarks/’ if not os.path.exists(ann_savepath):フォルダosを作成します.mkdir(ann_savepath) if not os.path.exists(ann_images):フォルダosを作成します.mkdir(ann_images)
if name == ‘main’: main()
def main(): ann_images = ‘D:/University/Data/images/’ ann_savepath = ‘D:/University/Data/landmarks/’ if not os.path.exists(ann_savepath):フォルダosを作成します.mkdir(ann_savepath) if not os.path.exists(ann_images):フォルダosを作成します.mkdir(ann_images)
for j in range(0,300):
# 1.
d = 400
img = np.ones((d, d, 3), np.uint8) * 255
# 2.
#
center_x = np.random.randint(0, high=d)
center_y = np.random.randint(0, high=d)
#
radius = np.random.randint(20, high=d/5)
# color = np.random.randint(0, high=256, size=(3, )).tolist()
color = (10,10,10)
if(center_x+radius>380):
continue
if(center_x-radius<=20):
continue
if(center_y+radius>380):
continue
if(center_y-radius<=20):
continue
cv2.circle(img, (center_x, center_y), radius, color, -1)
xmin = center_x - radius
ymin = center_y - radius
xmax = center_x + radius
ymax = center_y + radius
newfile='circular'+str(j)+'.txt'
#print(newfile)
ann_savefile = ann_savepath + newfile #
fp_w = open(ann_savefile, 'w')
fp_w.write(str(xmin))
fp_w.write(',')
fp_w.write(str(ymin))
fp_w.write('
')
fp_w.write(str(xmax))
fp_w.write(',')
fp_w.write(str(ymax))
fp_w.close()
# 3.
newimage='circular'+str(j)+'.jpg'
ann_saveimage=ann_images+newimage
cv2.imwrite(ann_saveimage, img, [int(cv2.IMWRITE_JPEG_QUALITY), 95])
if name == ‘main’: main()