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)

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('\n')
    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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章