如何解决使用opencv从python绘制m层六边形格子
我已经在python中从networkx创建了m层六边形格子的代码,我想在白色背景上使用opencv重复相同的操作,并使用功能线和圆来表示蓝色边缘(厚度1)和红色顶点(磁盘的半径2)。
import networkx as nx
import matplotlib.pyplot as plt
def node_dist(x,y,cx,cy):
return abs(cx-x) + abs(cy-y)
def remove_unwanted_nodes(G,m):
cx,cy = m-0.5,2*m -(m%2)
unwanted = []
for n in G.nodes:
x,y = n
if node_dist(x,cy) > 2*m:
unwanted.append(n)
for n in unwanted:
G.remove_node(n)
return G
m = 4
G = nx.hexagonal_lattice_graph(2*m-1,2*m-1,periodic=False,with_positions=True,create_using=None)
pos = nx.get_node_attributes(G,'pos')
G = remove_unwanted_nodes(G,m)
plt.figure(figsize=(8,8))
nx.draw(G,pos=pos,with_labels=True)
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。