深度学习-目标检测
應(yīng)用背景:在AI視覺領(lǐng)域,許多高精度測(cè)量場(chǎng)景,需要搭配傳統(tǒng)視覺算法,才會(huì)有更好的使用效果。例如,本項(xiàng)目測(cè)量被檢目標(biāo)的長度,需要兩個(gè)步驟 ①框選識(shí)別被檢目標(biāo);②對(duì)被檢目標(biāo)進(jìn)行分析測(cè)量。
程序功能:本程序功能,通過深度學(xué)習(xí)算法框選出被檢目標(biāo)后,可獲取到備選框坐標(biāo),根據(jù)坐標(biāo)值裁切目標(biāo)區(qū)域圖像,方便進(jìn)一步分析。
備注:深度學(xué)習(xí)Infer預(yù)測(cè)及模型本篇并未展示。
"""
功能:識(shí)別兩個(gè)被檢目標(biāo),并裁切目標(biāo)區(qū)域圖像
"""from infer import getRes,buildDetector
import cv2
import timecover_path = "D:/Users/xuyf2/Desktop/lego_jier/cp1622130202.jpg"
im1 = cv2.imread(cover_path)
im2 = cv2.resize(im1,(640,480),)# 通過目標(biāo)檢測(cè),裁剪出檢測(cè)到的圖像
detector = buildDetector(model_dir='model/lego_jier_V1.01')
res, img = getRes(image_file=im2, detector=detector)for k, v in res.items():# 打印檢測(cè)到目標(biāo)個(gè)數(shù)print(len(v))# left_point 左側(cè)框坐標(biāo)x1_left_top = v[0][2]y1_left_top = v[0][3]x1_right_bottom = v[0][4]y1_right_bottom = v[0][5]# right_point 右側(cè)框坐標(biāo)x2_left_top = v[1][2]y2_left_top = v[1][3]x2_right_bottom = v[1][4]y2_right_bottom = v[1][5]# 打印坐標(biāo)點(diǎn)print('(x1,y1)-top',int(x1_left_top),int(y1_left_top))print('(x1,y1)-bottom',int(x1_right_bottom),int(y1_right_bottom))print('(x2,y2)-top',int(x2_left_top),int(y2_left_top))print('(x2,y2)-bottom',int(x2_right_bottom),int(y2_right_bottom))# 圖片存儲(chǔ)
t = time.time()
img_str = 'cp' + str(int(t))
crop1 = im2[int(y1_left_top):int(y1_right_bottom), int(x1_left_top):int(x1_right_bottom)]
cv2.imwrite("D:/Users/xuyf2/Desktop/lego_jier/crop1/" + '1' + img_str + ".jpg", crop1)
crop2 = im2[int(y2_left_top):int(y2_right_bottom), int(x2_left_top):int(x2_right_bottom)]
cv2.imwrite("D:/Users/xuyf2/Desktop/lego_jier/crop2/" + '2' + img_str + ".jpg", crop2)
?效果展示:
總結(jié)
- 上一篇: 想翻译美村每天刊登的关于中国的新闻,请问
- 下一篇: Fins TCP协议