五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【BadApple】提取矢量化邊界

2023-08-24 09:34 作者:落魄小程序員  | 我要投稿

BadApple提取矢量化邊界使用Python,OpenCV處理,通過

cap = cv.VideoCapture(fileName)

while True:

? ? ? ? hasFrame, frame = cap.read()

? ? ? ? if not hasFrame:

? ? ? ? ? ? break

提取視頻中每幀圖像,

并進行兩步處理:

  • 提取邊緣

# 轉(zhuǎn)二值圖像

? ? ? ? ret, img_threshold = cv.threshold(frame, 128, 255, cv.THRESH_BINARY)

? ? ? ? # 使用canny提取邊界

? ? ? ? img_canny = cv.Canny(img_threshold, 128, 255)


  • 第一步提取的邊界信息為二維數(shù)組表示的圖像,其中高亮度值為邊界。這一步將第一步提取的邊界信息轉(zhuǎn)換為矢量數(shù)據(jù),采用的方法為:搜索

這里采用了四個方向的搜索(adjacent),導(dǎo)致產(chǎn)生很多碎線,應(yīng)當采用八方向,純屬失誤

# 廣搜

def Bfs(img, w, h, i, j):

? ? ret = [[i, j]]

? ? queue = [[i, j]]

? ? img[i, j] = 0

? ? adjacent = [[0, 1], [0, -1], [1, 0],[-1, 0]] # 四向搜索

? ? while (len(queue) > 0):

? ? ? ? cnt = queue.pop()

? ? ? ? for k in range(len(adjacent)):

? ? ? ? ? ? x = cnt[0] + adjacent[k][0]

? ? ? ? ? ? y = cnt[1] + adjacent[k][1]

? ? ? ? ? ? if (x < 0 or x >= w or y < 0 and y >= h):

? ? ? ? ? ? ? ? continue

? ? ? ? ? ? if (img[x, y] == 255):

? ? ? ? ? ? ? ? img[x, y] = 0

? ? ? ? ? ? ? ? queue.append([x, y])

? ? ? ? ? ? ? ? ret.append([x, y])

? ? return ret

# 矢量化邊界

def Ve****************(img, w, h):

? ? ret = []

? ? for i in range(w):

? ? ? ? for j in range(h):

? ? ? ? ? ? if (img[i, j] == 255):

? ? ? ? ? ? ? ? # BFS 搜索邊界

? ? ? ? ? ? ? ? line = Bfs(img, w, h, i, j)

? ? ? ? ? ? ? ? ret.append(line)

? ? return ret


此時已提取出矢量化的邊界信息,不過數(shù)據(jù)量相當大,可以使用曲線抽稀算法再處理一步(有損壓縮)

【BadApple】提取矢量化邊界的評論 (共 條)

分享到微博請遵守國家法律
长阳| 嘉义市| 高碑店市| 溧阳市| 宁夏| 平度市| 全州县| 靖远县| 镇安县| 社旗县| 达拉特旗| 陈巴尔虎旗| 永清县| 融水| 沙坪坝区| 聊城市| 赣榆县| 芜湖市| 利津县| 林州市| 乌拉特后旗| 滦南县| 象州县| 扎囊县| 舟曲县| 商丘市| 芦山县| 通化市| 香格里拉县| 英超| 永仁县| 隆林| 客服| 桐柏县| 达尔| 嘉兴市| 张家川| 天长市| 通州区| 嘉义县| 鄂尔多斯市|