日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

anaconda能跑c语言哪,anaconda环境下实现SiamCAR

發(fā)布時間:2025/6/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 anaconda能跑c语言哪,anaconda环境下实现SiamCAR 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【一】從github上下載代碼

image.png

【二】通過conda進(jìn)入項目

image.png

image.png

image.png

根據(jù)官方提供步驟,使用命令配置環(huán)境。

由于大部分模塊我已經(jīng)安裝好,直接根據(jù)requirement.txt提示安裝相對應(yīng)的模塊就行。

因此使用pip install XXX 安裝原來環(huán)境中沒有的模塊

【三】下載模型和數(shù)據(jù)集json文件

image.png

模型下載好后,項目文件下新建snapshot

image.png

數(shù)據(jù)集json文件下載后可以存放在pretrained_models下

image.png

文檔訓(xùn)練提供的代碼訓(xùn)練的是UAV123數(shù)據(jù)集,因此下載UAV123數(shù)據(jù)集。

UAV123總共有13G,如果只是測試用,只用下最小的那個壓縮包(1.8G)。

這篇博文中有下載地址:https://blog.csdn.net/sinat_27318881/article/details/85211053

image.png

打開UAV123目錄下的data_seq

image.png

然后隨便選一個數(shù)據(jù)集,我選的是bike1

image.png

在SiamCAR同級目錄下新建testing_dataset。

image.png

在testing_dataset新建文件夾UAV123,放入UAV123數(shù)據(jù)集和json文件

image.png

修改UAV123.json文件

只測試bike1這個序列集,因此在UAV123.json中找到bike1

image.png

把bike1相關(guān)數(shù)據(jù)復(fù)制另存為一份新的json,并命名為UAV123.json,新保存的json文件一定要包含以下幾個屬性

image.png

為了提高測試速度,特地刪了bike1文件下的圖片,只保留了200張,因此,UAV123.json中的img_names也只保留200張圖片名

以下為更改后文件夾目錄

image.png

【四】運行

把tools下test.py復(fù)制一份到SiamCAR-master/test.py

[圖片上傳中...(image.png-44d81c-1602570317165-0)]

image.png

運行時在官網(wǎng)提供文檔的命令后面再加上 --vis 顯示出視頻

image.png

image.png

【五】利用該算法跑自己的視頻

1.注釋創(chuàng)建數(shù)據(jù)集的方法,復(fù)制test.py命名為test2.py,即SiamCAR-master/test2.py

image.png

2.用cv的方法讀取視頻幀,然后循環(huán)遍歷幀,為每一幀畫框

# 讀視頻 分割成幀

videoFile = 'E:/lqj/testing_dataset/garbage/garbage.mp4'

capture = cv2.VideoCapture(videoFile)

height = capture.get(cv2.CAP_PROP_FRAME_HEIGHT) # 視頻高度

width = capture.get(cv2.CAP_PROP_FRAME_WIDTH) # 視頻寬度

count = capture.get(cv2.CAP_PROP_FRAME_COUNT) # 視頻總幀數(shù)

fps = capture.get(cv2.CAP_PROP_FPS) # 視頻幀率

print("count is %d , fps is %d " % (count, fps))

out = cv2.VideoWriter('E:/lqj/testing_dataset/garbage/garbage_new.mp4', cv2.VideoWriter_fourcc('D', 'I', 'V', 'X'),

15, (np.int(width), np.int(height)), True)

out_path = 'E:/lqj/testing_dataset/garbage/output/'

if not os.path.isdir(out_path):

os.makedirs(out_path)

frameNum = 0

model_name = args.snapshot.split('/')[-2] + str(hp['lr']) + '_' + str(hp['penalty_k']) + '_' + str(hp['window_lr'])

i = 0

#初始第一幀圖片的位置和大小

gt_bbox = [540, 0, 41, 45]

while True:

ret, frame = capture.read()

#給將每一幀圖片畫框

img = frame

toc = 0

pred_bboxes = []

track_times = []

tic = cv2.getTickCount()

if i == 0:

cx, cy, w, h = get_axis_aligned_bbox(np.array(gt_bbox))

gt_bbox_ = [cx - (w - 1) / 2, cy - (h - 1) / 2, w, h]

tracker.init(img, gt_bbox_)

pred_bbox = gt_bbox_

pred_bboxes.append(pred_bbox)

else:

outputs = tracker.track(img, hp)

pred_bbox = outputs['bbox']

pred_bboxes.append(pred_bbox)

toc += cv2.getTickCount() - tic

track_times.append((cv2.getTickCount() - tic) / cv2.getTickFrequency())

i += 1

if i == 0:

cv2.destroyAllWindows()

if args.vis and i > 0:

if not any(map(math.isnan, gt_bbox)):

pred_bbox = list(map(int, pred_bbox))

cv2.rectangle(img, (pred_bbox[0], pred_bbox[1]),

(pred_bbox[0] + pred_bbox[2], pred_bbox[1] + pred_bbox[3]), (0, 255, 255), 3)

cv2.putText(img, str(i), (40, 40), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 255), 2)

cv2.imshow('garbage', img)

cv2.waitKey(1)

frameNum = frameNum + 1

if frameNum % 2 == 0: # 調(diào)整幀數(shù)

cv2.imwrite(out_path + 'vieo1_' + str(frameNum) + ".jpg", frame) # 保存圖片

# if ret is True:

# cv2.imshow("video-input", frame)

# out.write(frame)

#

# c = cv2.waitKey(50)

# if c == 27: # ESC

# break

# else:

# break

toc /= cv2.getTickFrequency()

# save results

model_path = os.path.join('results', 'garbage', model_name)

if not os.path.isdir(model_path):

os.makedirs(model_path)

result_path = os.path.join(model_path, 'garbage.txt')

with open(result_path, 'w') as f:

for x in pred_bboxes:

f.write(','.join([str(i) for i in x]) + '\n')

#os.chdir(model_path)

capture.release()

out.release()

print('well done')

用畫圖工具獲取第一幀圖片中目標(biāo)所在位置及大小(x, y, w, h)

image.png

3.運行看效果

image.png

image.png

我修改的代碼不是很好,還是有報錯

總結(jié)

以上是生活随笔為你收集整理的anaconda能跑c语言哪,anaconda环境下实现SiamCAR的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。