第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我正在嘗試將一些 python 代碼轉換為 C#,這個數(shù)組語法是什么?

我正在嘗試將一些 python 代碼轉換為 C#,這個數(shù)組語法是什么?

喵喵時光機 2023-09-19 14:31:53
我正在嘗試將 python 中的幾行代碼轉換為 C#。在 C# 版本中,我對以 heatmap_center 變量開頭的列表/數(shù)組語法感到困惑。在下面的片段中,heatmap_with_borders 變量的用途是什么?這是Python片段:def extract_keypoints(heatmap, all_keypoints, total_keypoint_num):    heatmap[heatmap < 0.1] = 0    heatmap_with_borders = np.pad(heatmap, [(2, 2), (2, 2)], mode='constant')    heatmap_center = heatmap_with_borders[1:heatmap_with_borders.shape[0]-1, 1:heatmap_with_borders.shape[1]-1]    heatmap_left = heatmap_with_borders[1:heatmap_with_borders.shape[0]-1, 2:heatmap_with_borders.shape[1]]    heatmap_right = heatmap_with_borders[1:heatmap_with_borders.shape[0]-1, 0:heatmap_with_borders.shape[1]-2]    heatmap_up = heatmap_with_borders[2:heatmap_with_borders.shape[0], 1:heatmap_with_borders.shape[1]-1]    heatmap_down = heatmap_with_borders[0:heatmap_with_borders.shape[0]-2, 1:heatmap_with_borders.shape[1]-1]    heatmap_peaks = (heatmap_center > heatmap_left) &\                    (heatmap_center > heatmap_right) &\                    (heatmap_center > heatmap_up) &\                    (heatmap_center > heatmap_down)    heatmap_peaks = heatmap_peaks[1:heatmap_center.shape[0]-1, 1:heatmap_center.shape[1]-1]    keypoints = list(zip(np.nonzero(heatmap_peaks)[1], np.nonzero(heatmap_peaks)[0]))  # (w, h)    keypoints = sorted(keypoints, key=itemgetter(0))    suppressed = np.zeros(len(keypoints), np.uint8)    keypoints_with_score_and_id = []    keypoint_num = 0    for i in range(len(keypoints)):        if suppressed[i]:            continue        for j in range(i+1, len(keypoints)):            if math.sqrt((keypoints[i][0] - keypoints[j][0]) ** 2 +                         (keypoints[i][1] - keypoints[j][1]) ** 2) < 6:                suppressed[j] = 1
查看完整描述

2 回答

?
ITMISS

TA貢獻1871條經(jīng)驗 獲得超8個贊

np.pad 似乎在整個熱圖周圍添加了 2 個“像素”邊框。因此,如果熱圖為 124x124,則結果將是 128x128 熱圖。

現(xiàn)在我們來簡化一下

heatmap_center = heatmap_with_borders[1:heatmap_with_borders.shape[0]-1, 1:heatmap_with_borders.shape[1]-1]

我們將從

heatmap_with_borders[1:heatmap_with_borders.shape[0]-1

1:heatmap_with_borders.shape[0]-1表示將項目從1拉到維度-1的大小

在我們的 128,128 示例中,維度將為 128,所以我們說:從 1 到 127

具體如此簡化

heatmap_center = heatmap_with_borders[1:127, 1:127]

因此,您只需跳過 2 像素邊框的外部 1“像素”。在 C# 中,沒有原生的“拉出列表的一部分”語法,因此您需要一個類似的方法

getSublist(heatmap, start1, end1, start2, end2)

所以你的電話看起來像

heatmap_center = getSublist(heatmap, 1, heatmap.Length - 1, 1, heatmap[0].Length -1)

我的建議是,如果您非常關心 C#,請自行實現(xiàn)此功能,以便在 C# 中輕松使用它,然后如果速度太慢,請找到具有類似功能的庫。


查看完整回答
反對 回復 2023-09-19
?
不負相思意

TA貢獻1777條經(jīng)驗 獲得超10個贊

至于您的具體問題“在下面的片段中, heatmap_with_borders 變量的用途是什么?”

看起來它添加了 2 個“像素”邊框。該算法似乎根據(jù)相鄰像素制作某種熱圖。假設需要 1 像素偏移裁剪,然后查看中心裁剪和 1 像素裁剪哪個更大。因此,邊框可以“填充”熱圖,從而使所有輕微的“作物”保持相同的大小和范圍。


查看完整回答
反對 回復 2023-09-19
  • 2 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號