亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        為人工智能應(yīng)用程序設(shè)計圖形用戶界面

        2023-09-12 08:50:24謝作如浙江省溫州科技高級中學(xué)
        中國信息技術(shù)教育 2023年17期
        關(guān)鍵詞:界面程序模型

        謝作如 浙江省溫州科技高級中學(xué)

        人工智能是一種內(nèi)斂的技術(shù),需要借助多模態(tài)交互技術(shù),才能“具象化”。在XEdu的幫助下,學(xué)生不需要編寫代碼也能快速訓(xùn)練出計算機視覺方向的模型,如圖像分類和目標(biāo)檢測。那么,下一步的需求就是如何呈現(xiàn)這一學(xué)習(xí)成果,如結(jié)合攝像頭,編寫出支持實時畫面推理的應(yīng)用程序。筆者曾經(jīng)用PyWebIO、Gradio等庫介紹過AI模型部署方面的案例,但更多的教師希望能編寫一個類似Windows應(yīng)用程序,有一個中規(guī)中矩的圖形用戶界面,方便學(xué)生體驗。于是,筆者認真研究了Python的GUI工具選擇,畢竟給中小學(xué)生使用的工具既要代碼簡潔,又要功能強大。

        ●常見的Python圖形界面設(shè)計工具

        圖形用戶界面(Graphical User Interface,簡稱GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計算機操作用戶界面。圖形用戶界面是一種人與計算機通信的界面顯示格式,允許用戶使用鼠標(biāo)等輸入設(shè)備操縱屏幕上的圖標(biāo)或菜單選項,以選擇命令、調(diào)用文件、啟動程序或執(zhí)行其他一些日常任務(wù)。用戶界面通常包括許多視覺元素,如圖標(biāo)、按鈕、圖形、顯示文本,以及多種輸入控件,如復(fù)選框、文本輸入框等。

        Python是一種容易上手、簡單方便的開源編程語言,其第三方的開發(fā)工具數(shù)不勝數(shù),在GUI這個方向同樣有很多的工具可以選擇。比較常用的GUI開發(fā)工具有Tkinter、PyQt、wxPython、Gtk+、Kivy、FLTK和OpenGL等,其中最常用的是Tkinter。Tkinter的優(yōu)點在于是Python內(nèi)置標(biāo)準庫,無需額外安裝,兼容性好,但缺點在于實現(xiàn)效果較為普通,開發(fā)體驗不好。比較受程序員推崇的是PyQt和wxPython,其功能強大,界面優(yōu)美,相關(guān)教程也很多,可惜學(xué)習(xí)曲線有些陡峭。在比較了多款GUI開發(fā)工具之后,筆者最終選擇了PySimpleGUI。

        ●PySimpleGUI的安裝和典型代碼

        顧名思義,PySimpleGUI是一個簡單的GUI設(shè)計工具。PySimpleGUI的安裝和其他庫一樣,使用pip命令即可。整個庫很小,很快就能完成。參考命令如下:

        pip install PySimpleGUI

        一個典型的PySimpleGUI代碼,大致包含導(dǎo)入庫、設(shè)計窗體布局、創(chuàng)建窗體、窗體事件控制和關(guān)閉窗體等五個部分。以一個簡單的輸入文本并輸出結(jié)果的程序為例,對核心代碼的作用分析如表1所示。

        表1 PySimpleGUI代碼分析

        在這段代碼中,最核心的部分是窗體設(shè)計和窗體事件控制部分。其中在“window.read()”返回的信息中,event為按鈕的名稱,values則為一個字典,鍵名是控件的名稱,如“{'in': 'XEdu'}”。仔細觀察PySimpleGUI代碼,會發(fā)現(xiàn)它和Arduino、掌控板之類開源硬件程序的運行邏輯非常類似——用一個無限循環(huán)來處理輸入和輸出窗體事件。該代碼的運行效果如圖1所示,界面樣式規(guī)中矩,看起來并不丑。

        圖1

        ●用PySimpleGUI編寫模型推理程序

        借助這樣的簡單范例,就能寫出帶輸入和輸出功能的程序了??紤]到需要編寫的程序需要結(jié)合攝像頭,界面中得顯示實時畫面,那就要借助Image類型的對象,然后在窗體事件控制部分實時更新畫面即可。

        核心代碼介紹:在定義窗口布局中增加Image類型對象,用size來定義畫面的大?。ㄈ鐖D2)。

        圖2

        核心代碼介紹:實時讀取攝像頭的畫面內(nèi)容,然后用OpenCV的tobytes功能將圖片轉(zhuǎn)化為字節(jié)流,并更新Image對象(如下頁圖3)。

        圖3

        核心代碼介紹:在事件處理代碼中,調(diào)用了模型推理的函數(shù)“my_inf”,這個函數(shù)使用了BaseDeploy庫。BaseDeploy庫是XEdu的一個組件,支持通用的ONNX模型(如下頁圖4)。

        圖4

        最終的程序非常簡潔,50行左右,程序運行結(jié)果如下頁圖5所示。

        圖5

        ●用PySimpleGUI編寫Web應(yīng)用程序

        筆者選擇PySimpleGUI的最大原因在于其內(nèi)置了多個GUI框架。目前它已經(jīng)集成了tkinter、PyQt、wxPython和Remi四種。2021年,筆者曾在《用Python寫一個基于Web的物聯(lián)網(wǎng)應(yīng)用程序》一文中介紹過Remi庫。其支持Web界面開發(fā),也就說用PySimpleGUI也能開發(fā)出Web應(yīng)用。

        如果想要將上面的代碼效果以Web界面呈現(xiàn),只要將前面的導(dǎo)入庫“import PySimpleGUI as sg”一句改為“import PySimpleGUIWeb as sg”,其他代碼都不需要改變,體現(xiàn)了“一次編寫、處處運行”的理念。當(dāng)運行程序后,瀏覽器就會自動打開一個頁面,顯示效果如圖6所示。

        圖6

        ●結(jié)語

        也許是有VB和Arduino的編程基礎(chǔ),筆者在用PySimpleGUI編寫GUI的過程中,感覺非常順手??梢姡琍ySimpleGUI很適合有創(chuàng)客教育或者開源硬件編程基礎(chǔ)的師生使用,畢竟在幾分鐘內(nèi)用幾行代碼就可以構(gòu)建自定義GUI布局,是很愉快的編程體驗,再加上PySimpleGUI還內(nèi)置了100多種顏色主題,適合“懶人”拿來就用。一旦能用簡潔的代碼設(shè)計出GUI,相信就會有更多精彩的人工智能應(yīng)用程序涌現(xiàn)出來,讓我們拭目以待吧。

        猜你喜歡
        界面程序模型
        一半模型
        重要模型『一線三等角』
        國企黨委前置研究的“四個界面”
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        試論我國未決羈押程序的立法完善
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        人機交互界面發(fā)展趨勢研究
        3D打印中的模型分割與打包
        亚洲免费国产中文字幕久久久| av 日韩 人妻 黑人 综合 无码| 天堂中文在线资源| 国产成人精品免费久久久久| 国产精品久久久久久久久免费观看| 天堂视频一区二区免费在线观看 | 久久精品无码免费不卡| 国产精品丝袜黑色高跟鞋| 国产精品久久无码免费看| av中文码一区二区三区| 经典三级免费看片天堂| 成 人 免费 在线电影| 国产综合无码一区二区色蜜蜜| 开心婷婷五月激情综合社区| 国产乱子伦视频一区二区三区| 61精品人妻一区二区三区蜜桃| 人妻少妇精品专区性色anvn| 极品尤物一区二区三区| 亚洲热妇无码av在线播放| 欧美亚州乳在线观看| 欧美日韩亚洲一区二区精品 | 少妇人妻字幕精品毛片专区| 亚洲裸男gv网站| 亚洲色大成网站www永久一区 | 久久精品国产福利亚洲av| 久久精品国产熟女亚洲av麻豆| 亚洲av成人片色在线观看高潮| 亚洲精品永久在线观看| 91超碰在线观看免费| av国产免费在线播放| 丰满少妇人妻久久久久久| a在线观看免费网站大全| 五月激情狠狠开心五月| 一区二区三区日本视频| 美女内射毛片在线看免费人动物| 欧美怡红院免费全部视频| 亚洲欧洲日韩免费无码h| 国产av大片在线观看| 日韩肥臀人妻中文字幕一区| 亚洲国产精品综合久久网各 | 亚洲av美国av产亚洲av图片|