• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      線上教學(xué)實(shí)時(shí)考勤系統(tǒng)開(kāi)發(fā)

      2024-10-25 00:00:00宋詠春
      中國(guó)信息技術(shù)教育 2024年20期

      摘要:針對(duì)線上教學(xué)中,教師無(wú)法即時(shí)提供課上考勤情況以及及時(shí)保存考勤結(jié)果的問(wèn)題,作者以雨課堂為例,使用Python編程語(yǔ)言開(kāi)發(fā)了一個(gè)基于PC端的實(shí)時(shí)考勤軟件系統(tǒng)。以期該考勤系統(tǒng)能夠彌補(bǔ)在線教學(xué)軟件考勤的不足,進(jìn)而更好地滿(mǎn)足線上教學(xué)考勤的需求。

      關(guān)鍵詞:線上教學(xué)軟件;考勤;Python

      中圖分類(lèi)號(hào):TP391.1 文獻(xiàn)標(biāo)識(shí)碼:A 論文編號(hào):1674-2117(2024)20-0000-04

      引言

      在數(shù)字化時(shí)代,在線教學(xué)已經(jīng)成為一種新的教學(xué)常態(tài),因而也催生了大量的在線教學(xué)軟件,在高校中用于在線教學(xué)的常用軟件有雨課堂、騰訊會(huì)議、QQ群課堂等。

      在教學(xué)管理中,出勤考核是學(xué)生成績(jī)考核的重要組成部分。而大多數(shù)在線教學(xué)軟件主要提供課后考勤數(shù)據(jù),可以在課后查看學(xué)生們的到課情況,如雨課堂、騰訊會(huì)議導(dǎo)出的Excel課堂數(shù)據(jù)表,可查看上課簽到時(shí)間、離開(kāi)時(shí)間、在線時(shí)間等。但課上考勤,往往只能提供到課人數(shù)、到課人員姓名查看,無(wú)法即時(shí)提供上課班級(jí)總體考勤情況,這與考勤要求存在一定的差距。主要問(wèn)題是:①無(wú)法提供上課時(shí)學(xué)生到課細(xì)節(jié),如剛開(kāi)始上課時(shí),未到課學(xué)生姓名無(wú)法快速獲取,且難以及時(shí)通知提醒其上課;②導(dǎo)出的考勤結(jié)果文件需要手工處理才能把數(shù)據(jù)記錄在給定格式的記錄表中,考勤效率較低。

      針對(duì)上述的線上教學(xué)考勤問(wèn)題,筆者以雨課堂在線教學(xué)軟件為例,介紹基于PC端的在線教學(xué)軟件實(shí)時(shí)考勤數(shù)據(jù)處理系統(tǒng)開(kāi)發(fā)。該系統(tǒng)能夠?qū)崿F(xiàn)雨課堂在線教學(xué)軟件的在線考勤,實(shí)時(shí)反饋缺課、早退等學(xué)生姓名,并將考勤數(shù)據(jù)自動(dòng)記錄到給定格式的記錄文檔中,減少考勤工作量,提高考勤的效率。

      系統(tǒng)設(shè)計(jì)

      1.技術(shù)路線分析

      大部分在線教學(xué)軟件都有一個(gè)呈現(xiàn)當(dāng)前在線人員的界面,如騰訊會(huì)議在教學(xué)界面上點(diǎn)擊“點(diǎn)擊查看簽到詳情”,在窗口右側(cè)可看到當(dāng)前已出席和未出席的人員名稱(chēng)。雨課堂也有類(lèi)似查看當(dāng)前人員的窗口設(shè)置,但雨課堂當(dāng)前在線人員界面顯示的內(nèi)容并非文本,無(wú)法拷貝、粘貼,只能通過(guò)截取有姓名內(nèi)容的圖片,利用圖片文本識(shí)別方法將姓名文字識(shí)別,然后再進(jìn)行簽到考勤處理。因此,本考勤系統(tǒng)以保證識(shí)別精度、提高識(shí)別速度為目標(biāo),選擇使用Python強(qiáng)大的圖像處理庫(kù),如OpenCV、PIL和scikit-image等,對(duì)截圖進(jìn)行處理操作,然后通過(guò)百度AI開(kāi)放平臺(tái)接口,調(diào)用圖片文字識(shí)別工具實(shí)現(xiàn)在圖片中提取文本信息的功能,最后在識(shí)別的文本信息中提取姓名文字進(jìn)行考勤處理,將考勤結(jié)果寫(xiě)入給定格式的考勤表格中。

      2.系統(tǒng)架構(gòu)設(shè)計(jì)

      根據(jù)考勤操作的具體要求,從考勤的實(shí)際操作過(guò)程出發(fā),進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì)(如圖1)。展示層是用戶(hù)與系統(tǒng)之間進(jìn)行數(shù)據(jù)傳遞和互動(dòng)操控的接口;業(yè)務(wù)層是系統(tǒng)的核心,用于實(shí)現(xiàn)班級(jí)管理和考勤統(tǒng)計(jì)的功能;數(shù)據(jù)層則實(shí)現(xiàn)記錄文件的保存及訪問(wèn)。

      3.系統(tǒng)模塊設(shè)計(jì)

      系統(tǒng)模塊結(jié)構(gòu)如圖2所示,其中包含班級(jí)管理、考勤管理2個(gè)模塊。

      班級(jí)管理模塊中,添加班級(jí)是建立班級(jí)與考勤記錄表之間的關(guān)系,修改、刪除班級(jí)則是對(duì)已有的班級(jí)與考勤記錄表關(guān)系進(jìn)行修改或刪除。

      考勤管理模塊的主要功能是截取在線教學(xué)軟件當(dāng)前在線人員的界面,然后將截圖上的文字信息進(jìn)行識(shí)別,提取姓名。上課考勤是在剛開(kāi)始上課時(shí)進(jìn)行考勤,并將已到課的考勤結(jié)果記錄到數(shù)據(jù)文件上;課中考勤則是在課間的某個(gè)時(shí)間進(jìn)行考勤,并將考勤時(shí)刻的遲到人員、早退人員寫(xiě)入及更新原來(lái)的上課記錄文件。

      系統(tǒng)實(shí)現(xiàn)

      考勤管理是系統(tǒng)的核心,具體的考勤流程圖如圖3所示。

      1.截圖實(shí)現(xiàn)

      當(dāng)上課學(xué)生人數(shù)較多時(shí),在線教學(xué)軟件當(dāng)前在線人員的界面需要滾動(dòng)才能查看所有上課學(xué)生的信息,因此要采用滾動(dòng)截屏的方法進(jìn)行截圖,其實(shí)現(xiàn)步驟為[1]:滾動(dòng)界面→圖片截取→圖片拼接點(diǎn)辨識(shí)→圖片拼接。滾動(dòng)界面使用pynput模塊的滾動(dòng)功能實(shí)現(xiàn)。圖片截取用Qt的截屏方法實(shí)現(xiàn)。圖片拼接點(diǎn)辨識(shí)是滾動(dòng)截屏生成完成截屏圖片的關(guān)鍵,通過(guò)比較截屏所得的相鄰圖片,尋找下一張圖片在前一張圖片的相同部分位置,并記錄下來(lái)。但有些截屏區(qū)域包含不滾動(dòng)部分,即所有圖片都有相同的頭部或邊框,不能直接用截取的圖片來(lái)尋找拼接點(diǎn),需要比較多張圖片來(lái)去除相同部分的影響。最后將圖片轉(zhuǎn)為數(shù)組,通過(guò)數(shù)組實(shí)現(xiàn)圖片拼接。

      2.圖片處理

      截屏拼接得到的圖片,還要通過(guò)一定的處理后才能進(jìn)行文字識(shí)別。不同的班級(jí)上課的人數(shù)不同,當(dāng)前在線人員的界面截取圖片長(zhǎng)度的變化也較大。查閱百度AI開(kāi)放平臺(tái)官網(wǎng)可知[2],圖像數(shù)據(jù)base64編碼后進(jìn)行urlencode,要求base64編碼和urlencode后大小不超過(guò)10M,最短邊至少15px,最長(zhǎng)邊最大8192px。

      文字識(shí)別正確率與截圖圖片長(zhǎng)邊的長(zhǎng)度有很大的關(guān)聯(lián),當(dāng)截圖圖片長(zhǎng)邊太大時(shí),文字識(shí)別正確率會(huì)下降,甚至無(wú)法識(shí)別。通過(guò)對(duì)在線人員的界面截屏圖片進(jìn)行試驗(yàn)比較,筆者發(fā)現(xiàn)當(dāng)圖片長(zhǎng)度不超過(guò)1500px時(shí),文字識(shí)別準(zhǔn)確率與識(shí)別速度兩者可達(dá)到較好的平衡。因此,在進(jìn)行識(shí)別之前,要先檢查截圖長(zhǎng)邊的像素,若大于1500px,就將圖片分割,然后識(shí)別結(jié)果并合并。

      3.文字識(shí)別

      百度AI開(kāi)放平臺(tái)免費(fèi)開(kāi)放通用文字高精度識(shí)別,識(shí)別準(zhǔn)確率及使用次數(shù)完全可以滿(mǎn)足日常使用要求,調(diào)用設(shè)置也比較簡(jiǎn)單,本系統(tǒng)使用了百度AI開(kāi)放平臺(tái)提供的OCR API接口進(jìn)行在線識(shí)別。首先,安裝requests庫(kù)以發(fā)送HTTP請(qǐng)求,在百度AI開(kāi)放平臺(tái)上創(chuàng)建應(yīng)用并獲取API Key、Secret Key等信息用于身份認(rèn)證和接口調(diào)用。其次,在程序中導(dǎo)入所需的模塊和函數(shù),傳入圖片對(duì)象,加載圖片并轉(zhuǎn)換為Base64編碼。最后,構(gòu)造POST請(qǐng)求參數(shù)后發(fā)送POST請(qǐng)求得到返回結(jié)果。[3]

      4.文字處理

      在整理考勤記錄前,百度AI開(kāi)放平臺(tái)返回的識(shí)別文字要經(jīng)過(guò)以下處理。

      ①姓名提取。在雨課堂中,當(dāng)學(xué)生以實(shí)名及學(xué)號(hào)注冊(cè)賬號(hào)加入班級(jí)后,課上的成員列表會(huì)顯示其姓名與學(xué)號(hào)。在對(duì)圖片識(shí)別文字后,就得到了姓名與學(xué)號(hào)的文本信息。

      ②姓名糾錯(cuò)。系統(tǒng)對(duì)識(shí)別后得到的姓名設(shè)置了糾錯(cuò)環(huán)節(jié),其操作是將識(shí)別得到的姓名在點(diǎn)名冊(cè)中搜索,獲得未搜索到結(jié)果的姓名、與點(diǎn)名冊(cè)中沒(méi)有匹配項(xiàng)的姓名,通過(guò)difflib.get_close_matches()模塊計(jì)算文本相似度,從中找出最接近的匹配對(duì),顯示于窗口,提示糾正修改為正確的名字。

      5.考勤記錄

      根據(jù)之前設(shè)置的考勤類(lèi)型,如果是上課考勤,將考勤結(jié)果寫(xiě)入新的一列,如果是課中考勤,則修改原來(lái)的考勤結(jié)果,處理流程如圖4所示。

      系統(tǒng)運(yùn)行

      系統(tǒng)主界面如圖5所示,可通過(guò)主界面設(shè)置及選擇考勤班級(jí)和考勤模式。點(diǎn)擊“開(kāi)始檢查”出現(xiàn)截圖框選提示并選擇截圖區(qū)域(如下頁(yè)圖6),即可通過(guò)鼠標(biāo)滾輪滾動(dòng)進(jìn)行截圖,在截圖完成后,系統(tǒng)自動(dòng)進(jìn)行圖片文字識(shí)別。

      當(dāng)圖片文字識(shí)別完畢后,彈出姓名糾錯(cuò)對(duì)話窗口(如下頁(yè)圖7、圖8),窗口左側(cè)為圖片文字識(shí)別獲取但在點(diǎn)名冊(cè)中搜索不到的姓名,右側(cè)為通過(guò)匹配算法得到的推薦正確姓名。考慮到匹配算法可能存在誤差,因此將窗口右側(cè)內(nèi)容設(shè)置為可以編輯。當(dāng)姓名糾錯(cuò)完成后,點(diǎn)擊窗口“確定”按鈕,則彈出考勤結(jié)果對(duì)話框,確定后即可把考勤結(jié)果寫(xiě)入數(shù)據(jù)記錄文件。

      結(jié)語(yǔ)

      上述開(kāi)發(fā)的雨課堂實(shí)時(shí)考勤數(shù)據(jù)處理系統(tǒng),可以快速檢查線上課堂在線人員,實(shí)時(shí)獲取上課學(xué)生考勤情況,并將考勤結(jié)果自動(dòng)記錄在指定記錄文件中,提高了考勤效率。該系統(tǒng)在進(jìn)一步改進(jìn)后,還可以應(yīng)用于騰訊會(huì)議、QQ群課堂等常用線上教學(xué)軟件的實(shí)時(shí)考勤。

      參考文獻(xiàn):

      [1]Roll_screenshot Contributors.用Python實(shí)現(xiàn)的滾動(dòng)截屏.[2024-02-03].https://github.com/fandesfyf/roll_screenshot.

      [2]百度AI開(kāi)放平臺(tái).API文檔——通用文字識(shí)別(高精度版).[2024-02-03].https://ai.baidu.com/ai-doc/OCR/1k3h7y3db.

      [3]百度AI開(kāi)放平臺(tái).API調(diào)用指南.[2024-02-03].https://ai.baidu.com/ai-doc/REFERENCE/Lkru0zoz4.

      叶城县| 佳木斯市| 上杭县| 多伦县| 无棣县| 台北市| 金昌市| 定兴县| 文水县| 灌云县| 新昌县| 家居| 龙口市| 澄城县| 潍坊市| 临桂县| 沂源县| 石城县| 油尖旺区| 汾西县| 正阳县| 东乌珠穆沁旗| 裕民县| 杭锦旗| 大悟县| 延川县| 重庆市| 锡林浩特市| 无锡市| 炉霍县| 曲周县| 呼伦贝尔市| 罗田县| 莎车县| 赣榆县| 普宁市| 四会市| 天全县| 威远县| 东源县| 社旗县|