終於!這個速算題自動批改程式被我給做出來了!

2021-10-01 04:53:37 字數 3045 閱讀 5104

這裡

如題所示,今天的課程是如題所示,今天的課程是一堂實踐小課。一堂實踐小課。 課程示例在android 9環境下順利執行,android studio使用版本為3.5.2,大家在學習之前請安裝好android studio。

自動批改算術題的程式開發流程比較簡單,其執行流程如下圖所示:

支援拍照和本地選擇兩種模式,核心在於呼叫科大訊飛提供的「拍照速算識別」引擎,然後解析引擎,返回的結果進行繪圖展示即可。

以上的課前準備完成之後,接下來就可以進入程式開發環節啦~

第一部曲: 拍照並展示

呼叫相機的核心**如下

// 啟動相機程式

intent intent =

newintent

("android.media.action.image_capture");

intent.

putextra

(mediastore.extra_output, imageuri)

;startactivityforresult

(intent,1)

;try

catch

(exception e)

第二部曲: 訪問檔案

//如果沒有許可權則申請許可權

if(contextcompat.

checkselfpermission

(imagealbumshow.

this

, manifest.permission.write_external_storage)

!= packagemanager.permission_granted),1

);}//呼叫開啟相簿

openalbum()

;private

void

openalbum()

第三部曲: 拍照速算識別引擎呼叫在獲取到小學算數題的後,就可以開始呼叫拍照速算識別引擎了,在呼叫業務介面時,都需要在 http request body 中配置以下引數,請求資料均為json字串。

需要注意的是,示例**中的星號部分需要替換為環境準備階段申請的應用授權資訊:

// itr webapi 介面位址,請到訊飛開放平台申請api使用

// 應用id(到控制台獲取)

private

static

// 介面apikey(到控制台的拍照速算識別頁面獲取)

private

static

final string api_key =

"*****"

;// 介面apisercet(到控制台的拍照速算識別頁面獲取)

private

static

final string api_secret =

"*****"

;public

static

byte

imagebytearray;

第四部曲: 解析識別結果引擎返回結果為乙個json結構,包含字段如下:

識別結果資訊在data欄位裡,其中主要包含了識別出來的每個算數題的位置資訊、算術題的識別文字結果、算數題判決正誤資訊。

第五部曲: 繪圖並展示

對於計算正確的算術題使用綠色方框顯示,對於計算錯誤的算術題使用紅色方框顯示。

private

void

displayimage

(bitmap image_bitmap)

catch

(filenotfoundexception e)

// 將繪製好的展示出來

picture.

setimagebitmap

(bitmap);}

else

}private bitmap image_itr

(bitmap image_bitmap)}}

catch

(exception e)

return image_bitmap;

}private bitmap draw_image

(bitmap imagebitmap ,

int x1,

int y1,

int x2,

int y2,

int result)

第六部曲: 效果展示

至此,開發過程完成,讓我們來體驗一下程式的執行效果:

(1) 點開主介面,這裡為了方便展示,選擇「相簿」

(2) 選擇一張事先拍好的小學算數題

(3) 展示自動批改後的效果圖

我終於也碰到volatile這個問題了

以前上arm課,老師講到volatile這個關鍵字時,主要是說他用到更硬體相關的地方。比如我們看到很多關於硬體的標頭檔案的時候,暫存器的定義都是幾乎都是volatile與記憶體位址相結合,因為我們時刻想要的是暫存器的最新值,而volatile這個關鍵字的作用就是告訴編譯器不要對它宣告的變數進行優化,...

12306終於把這個「秒殺」缺陷給補上了

東方網1月21日訊息 儘管所有火車票都實行了實名制,記者昨天暗訪發現,依然有個別黃牛在火車站附近兜售熱門線路的火車票。應對倒票的新花招,鐵路部門與黃牛展開了一場 技術戰 探訪 黃牛稱可弄到實名車票 昨天下午近4時,軌交3號線通往鐵路上海站南廣場的地下通道內。在一片 發票 發票 的叫賣聲中,夾雜著一名...

自動生成四則運算題目

主要功能 用於計算小學四則運算。設計思想 乙個能處理四則運算的程式,實現語言c 可以處理實數。源 include stdafx.h include calc win.h include calc windlg.h ifdef debug define new debug new endif afxe...