網(wǎng)站下載下來怎么做后臺(tái)廣東網(wǎng)站營銷seo方案
目錄
一、前言
二、關(guān)于項(xiàng)目UI
2.1、修改界面內(nèi)容的文本
2.2、修改界面的圖標(biāo)和圖片
?三、項(xiàng)目修改地方
?四、其他配置問題
一、前言
- 因?yàn)楹罄m(xù)有許多兄弟說攝像頭卡頓,我在之前那個(gè)MATS上面改一下就可以了,MAST項(xiàng)目:基于YOLOv8的多端車流檢測系統(tǒng)(用于畢設(shè)+開源)-CSDN博客
- 其實(shí)這個(gè)直接用yolov8的官方api就可以了,然后在畫標(biāo)簽?zāi)抢镄薷囊幌麓a,就可以了
- 卡頓的原版項(xiàng)目:(這里有配置方法)Python——基于YOLOV8的車牌識別(源碼+教程)_車牌識別python代碼-CSDN博客
代碼包:
YOLOv8-license-plate-recognize-2.zip - 藍(lán)奏云文件大小:42.0 M|
https://wwwf.lanzout.com/inCTH1izjrqh配置方法和原項(xiàng)目差不多~如果有配置問題,可以看看下面的內(nèi)容
二、關(guān)于項(xiàng)目UI
因?yàn)镸ATS那個(gè)基礎(chǔ)項(xiàng)目,就沒有用ui文件,所以這個(gè)也沒有UI文件了
在修改pyside6時(shí),最好有一些這方面的基礎(chǔ)
2.1、修改界面內(nèi)容的文本
可以自行修改ui文件夾里面的main_window.py
2.2、修改界面的圖標(biāo)和圖片
1、替換或修改YOLOv8-license-plate-recognize-2\ui\img中的圖片(img那個(gè)文件夾里面)
2、把resources.qrc中的對應(yīng)映射進(jìn)行修改,如果你是添加了文件,就按照那個(gè)格式新增就好了
3、使用命令——重新編譯為資源文件:pyside6-rcc resources.qrc -o resources_rc.py
重新啟動(dòng)程序,查看是否更新成功
?三、項(xiàng)目修改地方
其實(shí),很多東西,原項(xiàng)目都寫好了,只需要在畫標(biāo)簽?zāi)抢?#xff0c;自定義一下就好了,把對應(yīng)的坐標(biāo)和圖片丟給lprr就行了
關(guān)于lprr本人一竅不通,只是調(diào)用了他的api,然后他可以返回一個(gè)車牌的結(jié)果
畫標(biāo)簽的代碼:(寫得丑陋,請大佬們指正,Python沒有常用,常寫)
?在yolo.py的333行
# 畫標(biāo)簽到圖像上def creat_labels(self, detections, img_box, model):# 畫車牌 draw a license platelabel_plate = []xy_xy_list = detections.xyxy.squeeze()class_id_list = detections.class_id.squeeze().tolist()xyxy = []# 車牌獲取for i in range(len(xy_xy_list)):if isinstance(class_id_list, int) and class_id_list != 0:continue# 如果長度為1,則是intif isinstance(class_id_list, int) and class_id_list == 0:xy_xy_filter = xy_xy_listxyxy.append(xy_xy_filter)plate = de_lpr(xy_xy_filter, img_box)plate = np.array(plate)car_number = ""for m in range(0, plate.shape[1]):# 將字符轉(zhuǎn)換成車牌號碼b = CHARS[plate[0][m]]car_number += blabel_plate.append(car_number)continue# 長度不為1if class_id_list[i] != 0: # 只選擇是車牌的目標(biāo)continuexy_xy_filter = xy_xy_list[i]xyxy.append(xy_xy_filter)plate = de_lpr(xy_xy_filter, img_box)plate = np.array(plate)car_number = ""for m in range(0, plate.shape[1]):# 將字符轉(zhuǎn)換成車牌號碼b = CHARS[plate[0][m]]car_number += blabel_plate.append(car_number)# 修改坐標(biāo)數(shù)組detections.xyxy = np.array(xyxy)# 要畫出來的信息labels_draw = label_plate# labels_draw = [# f"ID: {tracker_id} {tracker_id}"# for _, _, confidence, class_id, tracker_id in detections# if model.model.names[class_id] in label_names# ]'''如果Torch裝的是cuda版本的話:labels_draw代碼需改成:labels_draw = [f"OBJECT-ID: {tracker_id} CLASS: {model.model.names[class_id]} CF: {confidence:0.2f}"for _,confidence,class_id,tracker_id in detections]'''# 存儲(chǔ)labels里的信息labels_write = [f"目標(biāo)ID: {tracker_id} 目標(biāo)類別: {class_id} 置信度: {confidence:0.2f}"for _, _, confidence, class_id, tracker_id in detections]'''如果Torch裝的是cuda版本的話:labels_write代碼需改成:labels_write = [f"OBJECT-ID: {tracker_id} CLASS: {model.model.names[class_id]} CF: {confidence:0.2f}"for _,confidence,class_id,tracker_id in detections]'''pprint(detections)# 打印結(jié)果print(detections.xyxy)# 如果顯示標(biāo)簽 (要有才可以畫呀!)---否則就是原圖if (self.show_labels == True) and (self.class_num != 0):img_box = self.box_annotator.annotate(scene=img_box, detections=detections, labels=labels_draw)return labels_write, img_box
?四、其他配置問題
- 配置環(huán)境中,有一個(gè)lap,在pip安裝時(shí),需要下載一個(gè)東西,根據(jù)報(bào)錯(cuò)提示中的鏈接,去下載就好了
- 如果你預(yù)測失敗,多半是yolo版本問題,需要你自己根據(jù)報(bào)錯(cuò)修改一下,還有關(guān)于其他庫,就是opencv版本(或者其他庫,比如sv等)不一樣,根據(jù)報(bào)錯(cuò)的庫名,卸載重新安裝對應(yīng)版本
- 此項(xiàng)目的main_window的ui文件是沒有的,用貓魚老哥的開源改的,他當(dāng)時(shí)就沒有用ui文件。直接手寫了,然后我也只好手寫ui了。
- 關(guān)于type object 'Detections' has no attribute 'from_yolov8'問題的解決:由于Detection刪除了from,所以需要降級,又因?yàn)榍懊娴膕v調(diào)用,所以把supervision降級為0.6.0即可解決pip install supervision==0.6.0
- 如果你遇到了問題:可以看看這個(gè)文章里面的評論區(qū):基于YOLOv8的多端車流檢測系統(tǒng)(用于畢設(shè)+開源)-CSDN博客
關(guān)于訓(xùn)練模型+預(yù)測:(如何訓(xùn)練模型——我之前寫過一篇文章,可以翻翻前面的看看)
- 如果訓(xùn)練版本使用的是和預(yù)測版本一樣的話,就可以直接用
- 要用自己訓(xùn)練的那個(gè)yolo版本的話,那么預(yù)測項(xiàng)目里面yolo版本就換為你訓(xùn)練的那個(gè)版本(不過可能有api改了,但是一般改動(dòng)不大,自行根據(jù)報(bào)錯(cuò)修改就好了)
關(guān)于使用CUDA
- cuda版本的pytorch,需要自己根據(jù)項(xiàng)目的注釋和報(bào)錯(cuò)修改就好了
- 因?yàn)槭褂昧薈UDA,他預(yù)測返回的數(shù)據(jù)格式和之前的不一樣,建議自行打印出來,根據(jù)數(shù)據(jù)找到自己需要數(shù)據(jù),就可以啦~
- label根據(jù)具體內(nèi)容,修改就行了~
?