예제 #1
0
from PIL import Image
from datasets_lib1 import Point, Rect, RectArray, Obj, Trans, Board
import datasets_func as func


def DisplayObject(obj):
    imArray = obj.data * obj.dataMask + obj.data * 0.2
    imArray = imArray / np.max(imArray) * 255
    imArray = np.uint8(imArray)
    im = Image.fromarray(imArray)
    im.show()




pos = func.RandomPoint([50, 50], [250, 250])
# size = func.RandomSize([10, 10], [50, 50])
size1 = [200, 200]
size = size1
size2 = [50, 50]

obj1_rect = Rect(pos, size)
obj1_data = RectArray(obj1_rect, 3)
obj1_data.SetColor([255, 0, 255])


obj1_datamask = RectArray(obj1_rect, 1, dtype=np.bool)
obj1_datamask.SetValue(True)

obj1_mask_rect = Rect(Point(75, 75), size2)
obj1_true_datamask = RectArray(obj1_mask_rect, 1, dtype=np.bool)
예제 #2
0
img2 = img2.resize((256, 256))
im2 = np.array(img2)
immask2 = cv2.cvtColor(im2, cv2.COLOR_BGR2GRAY) < 200

# 初始化 NameManager2
num = 10
name_opts = GetNameOpts()
name_opts['target'] = '../data/ds_v2/TEST3_3_1'
name_opts['sdir'] = ['show', 'show', 'show', 'show', 'show']
name_opts['suffix'] = ['A', 'B', 'gtAB_viz', 'C', 'gtBC_viz']
name_opts['ext'] = ['jpg', 'jpg', 'jpg', 'jpg', 'jpg']
nm = NameManager2(num, name_opts)

for i, name in enumerate(nm):
    # 随机obj1的初始位置及大小
    pos = func.RandomPoint([50, 50], [300, 300])
    size = im.shape[0:2]
    # 初始化obj1
    obj1_rect = Rect(pos, size)
    obj1_data = RectArray(obj1_rect, 3)
    obj1_data.SetRectData(im)
    obj1_datamask = RectArray(obj1_rect, 1, dtype=np.bool)
    obj1_datamask.SetValue(immask)
    obj1 = Obj(obj1_data, obj1_datamask)

    # 初始化trans
    trans = Trans(obj1)
    trans_opts = GetTransOpts()
    trans_opts['xz_theta'] = func.RandomAngle(-np.pi / 2, np.pi / 2)
    trans_opts['py'] = func.RandomDis((-100, -100), (100, 100))
    trans.QuickTrans(['py', 'xz'], trans_opts)
예제 #3
0
import datasets_func as func


def DisplayObject(obj):
    imArray = obj.data * obj.dataMask + obj.data * 0.2
    imArray = imArray / np.max(imArray) * 255
    imArray = np.uint8(imArray)
    im = Image.fromarray(imArray)
    im.show()


img = Image.open('../data/ds_v1/timg.jpg')
img = img.resize((256, 256))
im = np.array(img)

pos = func.RandomPoint([0, 0], [200, 200])
# size = func.RandomSize([10, 10], [50, 50])
#pos = Point(100,100)
size = im.shape[0:2]

obj1_rect = Rect(pos, size)
obj1_data = RectArray(obj1_rect, 3)
obj1_data.SetRectData(im)

immask = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) < 240
#Image.fromarray(np.uint8(immask*255)).show()

obj1_datamask = RectArray(obj1_rect, 1, dtype=np.bool)
obj1_datamask.SetValue(immask)
#
#obj1_mask_rect = Rect(Point(75, 75), size2)
예제 #4
0
img3 = img3.resize((256, 256))
im3 = np.array(img3)
immask3 = cv2.cvtColor(im3, cv2.COLOR_BGR2GRAY) > 30

# 初始化 NameManager2
num = 20
name_opts = GetNameOpts()
name_opts['target'] = '../data/ds_v2/TEST4'
name_opts['sdir'] = ['show', 'show', 'show', 'show', 'show']
name_opts['suffix'] = ['A', 'B', 'gtAB_viz', 'C', 'gtBC_viz']
name_opts['ext'] = ['jpg', 'jpg', 'jpg', 'jpg', 'jpg']
nm = NameManager2(num, name_opts)

for i, name in enumerate(nm):
    # 随机obj1的初始位置及大小
    pos1 = func.RandomPoint([50, 50], [300, 300])
    size1 = im.shape[0:2]  #!!!!!!!!!!!!!!!!这句的xy和ij反了
    # 初始化obj1
    obj1_rect = Rect(pos1, size1)
    obj1_data = RectArray(obj1_rect, 3)
    obj1_data.SetRectData(im)
    obj1_datamask = RectArray(obj1_rect, 1, dtype=np.bool)
    obj1_datamask.SetValue(immask)
    obj1 = Obj(obj1_data, obj1_datamask)

    # 初始化trans
    trans1_0 = Trans(obj1)
    trans_opts = GetTransOpts()
    trans_opts['xz_theta'] = func.RandomAngle(-np.pi / 2, np.pi / 2)
    trans_opts['py'] = func.RandomDis((-100, -100), (100, 100))
    trans1_0.QuickTrans(['py', 'xz'], trans_opts)