내 프로젝트의 이미지에 그래프 컷 알고리즘을 사용하고 싶습니다. 파이썬 2.7을 사용하고 있습니다.
pymaxflow implementation을 찾았지만 문서가 너무 명확하지 않습니다.파이썬으로 그래프 컷팅 : 그래프를 올바르게 설정하는 방법은 무엇입니까?
>>> A
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]])
가상 터미널 노드 S (소스) 및 T (싱크)의 모든 화소에 무한 중량 호 접속한다 : I는 예를 확인 여기 내 5 * 5 행렬 행렬의 가장 왼쪽 및 오른쪽 열. 여기 내가 얻을 싶은 것입니다 : 여기
left_most = concatenate((np.zeros((1, A.shape[0])), np.arange(A.shape[0]).reshape(1, A.shape[0]))).astype(np.uint64)
left_most = np.ravel_multi_index(left_most, A.shape)
right_most = concatenate((np.ones((1, A.shape[0])) * size(A, 1) - 1, np.arange(A.shape[0]).reshape(1, A.shape[0]))).astype(np.uint64)
right_most = np.ravel_multi_index(right_most, A.shape)
g.add_grid_tedges(left_most, np.ones(left_most.shape) * np.inf, np.zeros(left_most.shape))
g.add_grid_tedges(right_most, np.zeros(right_most.shape), np.ones(right_most.shape) * np.inf)
g.maxflow()
가 무한 루프에 파이썬 콘솔을하게 작동하지 않습니다 . 내 구현에 대해 잘 모르겠습니다. 그래프 컷 알고리즘에 사용할 수있는 올바른 그래프를 만드는 방법은 무엇입니까?
감사합니다.
p.s. 다른 도서관의 해결책을 알고 있다면 어떤 제안이라도 정말 감사 할 것입니다.