Beispiel #1
0
def load_cookingmethods():
    """ファイルからすべての調理法のリストを生成する。
    """
    yaku = recipi.CookingMethod('bake', methods.yaku_func, '{0}を{{}}分焼く。', 1)
    niru = recipi.CookingMethod('niru', methods.niru_func, '{0}を{{}}分煮る。', 1)
    moru = recipi.CookingMethod('moru', methods.moru_func, '{0}を皿に盛り付ける。', 1)
    maze = recipi.CookingMethod('mix', methods.mix_func, '{0}と{1}を混ぜる。', 2)

    cooking_methods_list.append(yaku)
    cooking_methods_list.append(niru)
    cooking_methods_list.append(moru)
    cooking_methods_list.append(maze)

    with open('ingredients.dat') as f:
        pass
Beispiel #2
0
def test():
    # Ingredientクラスの実体として,じゃがいもオブジェクトを生成する。
    # スタブなので,食材画像の代わりに文字列を加工していく
    #potato = recipi.Ingredient('じゃがいも', cv2.imread("img/cut_vegetable_potato.png", cv2.IMREAD_UNCHANGED))
    potato = recipi.Ingredient(
        'じゃがいも', cv2.imread("cut_vegetable_onion.png", cv2.IMREAD_UNCHANGED))

    # 調理前のジャガイモを表示する
    print('調理前')
    print('名前:', potato.name)
    #print('画像:', potato.image)  # 変更
    cv2.imshow('Original', potato.image)  # 変更
    print('履歴:', potato.history)

    # CookingMethodクラスの実体として,焼くオブジェクトを生成する。
    # ここでは,上で生成したじゃがいもを3分焼1:18 2016/09/08く。
    yaku = recipi.CookingMethod('焼く', methods.yaku_func,
                                '[food]を[minute]分焼きます。')
    yaku.ps = [potato, 3]
    yaku()  # 焼く処理を実行する。

    # 調理後のジャガイモを表示する
    print('\n調理後')
    print('名前:', potato.name)
    #print('画像:', potato.image)  # 変更
    cv2.imshow('After', potato.image)  # 変更
    print('履歴:', potato.history)

    cv2.waitKey()  # 変更

    return
Beispiel #3
0
def load_cookingmethods():
    """ファイルからすべての調理法のリストを生成する。
    """
    import csv

    with open('cooking_methods.dat', 'r', encoding='utf8') as f:
        reader = csv.reader(f)
        for row in reader:
            print(row)
            if len(row) == 3:
                cooking_methods_list.append(
                    recipi.CookingMethod('_', getattr(methods, row[1]), row[0],
                                         int(row[2])))
Beispiel #4
0
def test():
    onion = recipi.Ingredient(
        '玉ねぎ',
        cv2.imread("./../img/cut_vegetable_onion.png", cv2.IMREAD_UNCHANGED))
    carrot = recipi.Ingredient(
        'にんじん', cv2.imread("./../img/ninjin_carrot.png", cv2.IMREAD_UNCHANGED))
    #onion = recipi.Ingredient('玉ねぎ', cv2.imread("./../img/food_lettuce.png", cv2.IMREAD_UNCHANGED))
    #carrot = recipi.Ingredient('にんじん', cv2.imread("./../img/vegetable_tomato.png", cv2.IMREAD_UNCHANGED))

    # 調理前のジャガイモを表示する
    print('調理前')
    print('-' * 10)
    print('名前:', onion.name)
    #cv2.imshow('Original', onion.image)
    print('履歴:', onion.history)
    print('-' * 10)
    print('名前:', carrot.name)
    #cv2.imshow('Original', carrot.image)
    print('履歴:', carrot.history)
    print('-' * 10)

    #mix = recipi.CookingMethod('混ぜる', mix_func, '{0}と{1}を混ぜます。', 2)
    #mix.ps = [onion, carrot]
    #mix()
    rcp = recipi.Recipi()
    rcp.ingredients.append(onion)
    rcp.ingredients.append(carrot)
    mix = recipi.CookingMethod('混ぜる', mix_func, '{0}と{1}を混ぜます。', 2)
    mix.ps = [onion, carrot]
    mix(rcp)

    # 調理後のジャガイモを表示する
    print('\n調理後')
    print('-' * 10)
    print('名前:', rcp.ingredients[0].name)
    #cv2.imshow('After', rcp.ingredients[0].image)
    cv2.imwrite('out.png', rcp.ingredients[0].image)
    print('履歴:', rcp.ingredients[0].history)
    print('-' * 10)

    cv2.waitKey()  # 変更
Beispiel #5
0
def web():
    import random
    import copy

    load_cookingmethods()
    load_ingredients()

    rcp = recipi.Recipi()
    rcp.ingredients = generate_ingredients(random.randint(3, 10))
    materials = copy.deepcopy(rcp.ingredients)

    for i in range(random.randint(5, 12)):
        add_cooking(rcp)

    # 最後に,すべてを皿に盛る
    method = recipi.CookingMethod('moru', methods.moru_func, '皿に盛る。', 0)
    method(rcp)
    rcp.steps.append(method)

    cv2.imwrite('out.png', rcp.ingredients[0].image)

    return rcp, materials