CSIC_716_20191029

今日の内容:

1.コールBaiduのAI・インタフェース、(おざなり)完全な顔画像レート

2.内蔵の時間印刷システムを完成

3.上記2つのコード実行可能ファイル

-------------------------------------------------- -------------------------------------------------- -------------------------

1、私はスコアの性別や年齢を抽出するためのコードを持っています

AIPのインポートAipFaceから
輸入BASE64

"" "あなたのAPPID AK SK" ""
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
オプション= { 'face_field': '年齢、性別、美しさ'}
クライアント= AipFace(APP_ID、API_KEY、SECRET_KEY)


デフset_image(ファイル):
    Fとしてオープン(ファイル「RB」)を持ちます:
        RES = base64.b64encode(f.read())
        res.decodeを返す( 'UTF-8')


画像= set_image( '123.jpg')
imageType = "BASE64"


#プリント(画像)
デフface_score(ファイル):
    結果= client.detect(ファイル、のimageType、オプション)
    年齢=結果[ '結果'] [ 'face_list'] [0] [ '年齢']
    性別=もたらす[ '結果'] [ 'face_list'] [0] [ '性別'] [ 'タイプ']
    美= [ '美'] [0] [ 'face_list'] [ '結果を']結果
    印刷(年齢、性別、美しさ)
    リターン年齢、性別、美しさ

face_score(画像)

  

-------------------------------------------------- -------------------------------

先生は、コードを書くために、あなたは小さなプログラムを生成することができます

#!は/ usr / binに/ ENVパイソン
# -  *  - コーディング:UTF-8  -  *  - 
「」」
枕をインストールするPIP
Baiduの-AIPをインストールPIP
TkinterのインストールPIP
「」」
PIL量
インポート時
輸入BASE64
TKとTkinterのインポート
PILインポートイメージから
PILインポートImageTkから
AIPのインポートAipFaceから
tkinter.filedialog輸入askopenfilenameから

#設定パラメータBaiduのAIP
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
a_face = AipFace(APP_ID、API_KEY、SECRET_KEY)
image_type = 'BASE64'

オプション= { 'face_field': '年齢、性別、美しさ'}


デフget_file_content(FILE_PATH):
    「」「」「ファイルの内容を取得します」
    FRオープン(FILE_PATH 'RB')を持ちます:
        コンテンツ= base64.b64encode(fr.read())

        content.decodeを返す( 'UTF8')


デフface_score(FILE_PATH):
    「」「顔認識スコア。」「」
    結果= a_face.detect(get_file_content(FILE_PATH)のimage_type、オプション)
    印刷(結果)
    年齢=結果[ '結果'] [ 'face_list'] [0] [ '年齢']
    美= [ '美'] [0] [ 'face_list'] [ '結果を']結果
    性別=もたらす[ '結果'] [ 'face_list'] [0] [ '性別'] [ 'タイプ']

    リターン年齢、美しさ、性別


クラスScoreSystem():
    「」「スコアリングシステムクラス。」「」
    ルート= tk.Tk()

    番組枠のサイズを変更する#
    root.geometry( '800x500')

    #プログラムのタイトルボックスを追加します。
    root.title(「色値女神スコアリングシステム」)

    #背景色を変更します。
    キャンバス= tk.Canvas(根、
                       幅= 800、#キャンバスコンポーネント指定された幅
                       成分指定キャンバスの高さ= 500、#高さ
                       BG =「#E6E6FA」)#背景色のキャンバスアセンブリを指定します
    canvas.pack()

    デフstart_interface(自己):
        「」「メインRUN機能」「」
        self.title()
        self.time_component()

        #ローカルファイルを開きます
        tk.Button(self.root、テキスト= 'ファイルを開く'、コマンド= self.show_original_pic).place(X = 50、Y = 150)
        価値の円#
        tk.Button(self.root、テキスト= 'プログラムを実行'、コマンド= self.open_files2).place(X = 50、Y = 230)
        #ヘルプの表示文書
        tk.Button(self.root、テキスト= 'ヘルプファイル'、コマンド= self.show_help).place(X = 50、Y = 310)
        #出口システム
        tk.Button(self.root、テキストは= 'ソフトウェアを終了'、コマンド= self.quit).place(X = 50、Y = 390)
        #表示枠のタイトル
        tk.Label(self.root、テキスト= '絵'、フォント= 10).place(X = 380、Y = 120)
        #画像サイズを変更します。
        self.label_img_original = tk.Label(self.root)
        #表示フレームの背景を設定します
        self.cv_orinial = tk.Canvas(self.root、BG = '白'、幅= 270、高さ= 270)
        #表示フレームの境界線を設定します
        self.cv_orinial.create_rectangle(8、8、260、260、幅= 1、アウトライン= '赤')
        #設定場所
        self.cv_orinial.place(X = 265、Y = 150)
        #表示画像の場所
        self.label_img_original.place(X = 265、Y = 150)

        #タグスコアを設定します
        tk.Label(self.root、テキスト= 'セックス'、フォント= 10).place(X = 680、Y = 150)
        self.text1 = tk.Text(self.root、幅= 10、高さ= 2)
        tk.Label(self.root、テキスト= '年龄'、フォント= 10).place(X = 680、Y = 250)
        self.text2 = tk.Text(self.root、幅= 10、高さ= 2)
        tk.Label(self.root、テキスト= 'スコア'、フォント= 10).place(X = 680、Y = 350)
        self.text3 = tk.Text(self.root、幅= 10、高さ= 2)

        # 填装文字
        self.text1.place(X = 680、Y = 175)
        self.text2.place(X = 680、Y = 285)
        self.text3.place(X = 680、Y = 385)

        #オープンループ
        self.root.mainloop()

    デフshow_original_pic(自己):
        「」「ロードファイル」「」
        self.path_ = askopenfilename(タイトル= '[ファイル')
        #ハンドルファイル
        IMG = Image.open(FR '{self.path_}')
        IMG = img.resize((270、270)は、PIL.Image.ANTIALIAS)#270 * 270に画像をリサイズ
        #Tkinterのピクチャーオブジェクトを生成
        img_png_original = ImageTk.PhotoImage(IMG)
        #設定されたピクチャオブジェクト
        self.label_img_original.config(画像= img_png_original)
        self.label_img_original.image = img_png_original
        self.cv_orinial.create_image(5、5、アンカー= 'NW'、画像= img_png_original)

    デフopen_files2(自己):
        #が利用可能年齢BaiduのAPIインタフェース、スコア、性別を取得します
        年齢、スコア、性別= face_score(self.path_)

        テキストボックスとインサートの#クリアテキストコンテンツ
        self.text1.delete(1.0、tk.END)
        self.text1.tag_config( '赤'、フォアグラウンド= 'RED')
        self.text1.insert(tk.END、性別、 '赤')

        self.text2.delete(1.0、tk.END)
        self.text2.tag_config( '赤'、フォアグラウンド= 'RED')
        self.text2.insert(tk.END、年齢、 '赤')

        self.text3.delete(1.0、tk.END)
        self.text3.tag_config( '赤'、フォアグラウンド= 'RED')
        self.text3.insert(tk.END、スコア、 '赤')

    デフshow_help(自己):
        「」「ヘルプを表示します。」「」
        パス

    デフ(自己)終了します。
        "" "退出" ""
        self.root.quit()

    デフGET_TIME(自己、ポンド):
        「」「取得時間」「」
        time_str = time.strftime( "%Y-%M-%D%H:%のM:%S")#現在の時刻を取得し、文字列に変換しました
        lb.configure(テキスト= time_str)#は、ラベルテキストをリセット
        self.root.after(1000年、self.get_time、LB)すべての関数1S#はGET_TIME取得時間そのものを呼び出します

    デフtime_component(自己):
        「」「時間のコンポーネント」「」
        LB = tk.Label(self.root、テキスト= ''、FG = '青'、フォント=( "黑体"、15))
        lb.place(relx = 0.75、頼る= 0.90)
        self.get_time(ポンド)

    デフタイトル(自己):
        「」「タイトルデザイン」「」
        ポンド= tk.Label(self.root、テキスト=「女神の色値スコアリングシステム」、
                      BG = '#の6495ED'
                      FG = 'lightpink'、フォント=( '新しい中国の魏'、32)、
                      幅= 20、
                      高さ= 2、
                      #救援= tk.SUNKEN
        lb.place(X = 200、Y = 10)


score_system = ScoreSystem()
score_system.start_interface()

  

-------------------------------------------------- -------------------------------------------------- -------------------------

図2に示すように、反時計回りに出力Iを達成するため、クラス時計回りの一例です

輸入カメ
インポート時
T = turtle.Pen()
t.shape( "亀")
t.speed(0)

デフrouteTrue():
    t.forward(5)
    t.down()
    t.forward(35)
    t.left(90)
    t.up()

デフrouteFalse():
    t.forward(40)
    t.left(90)

デフnumInput(I):
   routeTrue()は、i [2,3,4,5,6,8,9]他routeFalse()であれば
   routeTrue()は、i [0,2,6,8]他routeFalseであれば()
   routeTrue()は、i [0,2,3,5,6,8,9]他routeFalse()であれば
   routeTrue()は、i [0,1,3,4,5,6,7,8,9]他routeFalse(であれば)
   t.right(90)
   routeTrue()は、i [0,1,2,3,4,7,8,9]他routeFalse(であれば)
   routeTrue()は、i [0,2,3,5,6,7,8,9]他routeFalse(であれば)
   routeTrue()は、i [0,4,5,6,8,9]他routeFalse(であれば)
   t.right(180)
   t.backward(90)

デフ)(変更します。
    t.backward(90)
    #1 t.right(180)
デフCHARAC():
    t.forward(40)
デフgetnum(日):
    私日付でのために:
        私== ' - ' の場合:
            CHARAC()
            t.write( '年'、フォント=( "ゴシック"、40、 "正常"))
            t.pencolor( 'グリーン')
            変化する()
        elifと== '/':
            CHARAC()
            t.write( '月'、フォント=( "ゴシック"、40、 "正常"))
            t.pencolor( '青')
            変化する()
        elifと== '+':
            CHARAC()
            t.write( '日'、フォント=( "ゴシック"、40、 "正常"))
            変化する()
        他:
            numInput(evalの(I))
デフメイン():
    t.pencolor( '黒')
    t.pensize(3)
    t.up()
    t.right(180)
    t.fd(250)
    Nowdate = time.strftime( '%Y-%M /%のD +'、time.gmtime())
    getnum(Nowdate)
    t.hideturtle()
メイン()
turtle.done()

  

 

-------------------------------------------------- -------------------------------------------------- --------------------------

3、パッケージpyInstallerのをインストールするための実行可能ファイル

pyInstallerのパッケージ、同じフォルダにファイルの.py、CMDテストをインストールした後pyInstallerの--versionバージョン情報を表示するかどうかをテストに利用可能です

次のコマンドを入力します。

C:\ Users \ユーザーXXXX \ PycharmProjects \ date20191029> pyInstallerの-F -w文件名の.py

-F代表がフォルダを生成し、-w代表は、コンソールが表示されません。

おすすめ

転載: www.cnblogs.com/csic716/p/11761428.html