我正在用 opencv 掃描圖片以查找線條。根據(jù)文檔,每件事都按計劃進行。lines = cv.HoughLines(edges,1,np.pi/180,200)for line in lines: rho,theta = line[0]我的圖片有很多線條,我只想在做之前繼續(xù)使用水平線for line in lines:但是因為條目是嵌套的,所以我找不到刪除元素的合適解決方案。行0 = 0 的所有條目都應(yīng)保留在數(shù)組行中。我試圖從列表列表中修改此線程 numpy delete list element但元素不在列表列表中的解決方案。單個元素位于列表列表中。示例:我希望第四個元素是唯一剩下的。lines = ([[564.,1.57079637]],[[566.,1.57079637]],[[547.,1.57079637]],[[549.,0]],[[549.,1.57079637]],[[496.,1.57079637]])
1 回答

拉丁的傳說
TA貢獻1789條經(jīng)驗 獲得超8個贊
您的示例lines
是嵌套列表的元組。然而,返回值cv.HoughLines
是一個形狀為 (n,1,2) 的 numpy 數(shù)組。為了制作一個可行的例子cv.HoughLines
,我們將使用lines = np.array(([[564.,1.57079637]],[[566.,1.57079637]],[[547.,1.57079637]],[[549.,0]],[[549.,1.57079637]],[[496.,1.57079637]]))
.
您可以使用列表理解:
lines = np.array([x for x in lines if x[0][1] == 0])
結(jié)果:
array([[[549., 0.]]])
添加回答
舉報
0/150
提交
取消