功能架構圖
將一包含車牌圖片上傳至S3 bucket,觸發Lambda函數並透過Rekognition進行車牌辨識,辨識完畢後將車牌位置回傳並將其位置框畫出來,最後將變更後的圖片回傳至 S3 bucket。
1.建立 S3 儲存貯體,關閉封鎖所有公開存取權,並設定一個資料夾允許對外公開讀取。
2.建立 Lambda 函數。
3.測試並確認結果。
在AWS控制台搜尋S3並點擊,如下圖
點擊建立儲存貯體
命名貯體名稱
取消勾選封鎖所有公開存取權,並勾選確認
點擊建立儲存貯體
將使用到的程式碼上傳至 S3 ==>檔案連結
在AWS控制台搜尋 Lambda 並點擊,如下圖
進入 Lambda 儀表板後點擊建立函數
命名函數名稱,選擇版本"Python3.9",架構選擇x86_64
執行角色選擇"使用現有的角色"並選取"LabRole",完成後選擇建立函式
部署程式碼,選擇Amazon S3位置,輸入先前儲存在S3的程式碼的URL
程式碼檔案開啟後,點擊"Deploy"部署
由於程式碼中有使用到opencv,需要打包 Python 的 OpenCV 函式庫,並添加至layer
主要的操作內容是:
python3 -m venv opencv
cd opencv
. bin/activate
python -V
pip install pip -U
pip install opencv-python
cd lib/python3.9/
ln -s site-packages/ python
zip -r opencv39-48.zip python/
unzip -l opencv39-48.zip
aws s3 cp opencv37-45.zip s3://[S3存儲桶的名稱]
點擊左下方的CloudShell,並輸入上方程式碼,完成後打包檔會存在 S3 bucket 內
接著回到 Lambda 點擊"層",選擇建立Layer
命名Layer名稱,選擇"上傳來自 Amazon S3 的檔案",填入剛才存在 S3 bucket 內 opencv 打包檔的 URL,架構選擇x86_64,版本選擇"Python3.9",最後選擇建立
回到 Lambda 頁面,配置剛剛建立的Layer,選擇"新增層"
選擇"自訂Layer",下方選取剛才建立的Layer,版本選擇"1"並新增
最後要使用Lambda函數需要設置觸發器,回到Lambda頁面選擇新增觸發
來源選擇"S3",選擇要使用的 S3 bucket並新增
回到 S3 bucket 頁面,將包含車牌的圖片上傳,並等待結果
可以看到辨識前和辨識後的差別
https://ithelp.ithome.com.tw/articles/10277760
https://blog.csdn.net/m0_50614038/article/details/128122934
https://ithelp.ithome.com.tw/articles/10282533