今日の内容:
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代表は、コンソールが表示されません。