Tôi có một vấn đề nhỏ, khi tôi lấy đường viền của một hình ảnh, tôi nhận được con số này:Làm thế nào để kết nối các đường cong discontinous trong matplotlab, scipy, hoặc vv
Như bạn có thể xem tôi có thể trích xuất đường bao, nhưng ngay sau khi tôi trích xuất đường dẫn, nó sẽ để lại những bí mật lạ này sẽ vượt qua hình ảnh vì có 2 khu vực không liên tục trên đường cong. Tôi tự hỏi nếu có một cách để ngắt kết nối dòng không liên tục hoặc là nó con đường của tôi giải nén code đang sai
import matplotlib.pyplot as plt
import numpy as np
def contourPath(img, width, height):
x = np.arange(0,width)
y = np.arange(height,0,-1)
X, Y = np.meshgrid(x,y)
plot = plt.contour(X,Y,img, [0])
pathList = plot.collections[0].get_paths()
x, y = [], []
for i in range(0, len(pathList)):
iterPath = pathList[i].iter_segments()
for point in iterPath:
pt = np.rint(point[0])
x.append(pt[0])
y.append(pt[1])
X = np.hstack(x)
Y = np.hstack(y)
return np.dstack((X,Y))[0]
Cảm ơn bạn đã dành thời gian
cho user545424 Ở đây tôi đoán. Chức năng đường viền Matplotlib hoạt động bình thường vì có hai điểm không liên tục trên hình ảnh khiến cho sự kiện nhỏ này xảy ra.
Tôi biết rằng những dòng cát tuyến là nguyên nhân gây ra bởi scypi, nhưng nó làm tăng một vấn đề khác về cách các thư viện tương tác với các điểm đường viền
Oh tốt, tôi tin rằng nó có thể che dấu vấn đề bằng cách tìm các đường dẫn và nội suy nó. Nhưng, tôi muốn tránh nhắc nhở con đường, vì việc đi du lịch vấn đề về salemans không tốt trên máy tính của tôi.
Bạn có bất cứ đề xuất nào không?
Bạn có thể gửi hình ảnh? – user545424
Từ chỉnh sửa của bạn, nó không rõ ràng nếu bạn vẫn có vấn đề hay không. Và, nhân tiện, đây có phải là võng mạc không? – heltonbiker
Tôi biết, nhưng việc liên kết đường dẫn sẽ đánh bại mục đích của một đối tượng đường dẫn. Ồ, tôi có thể đăng như đã giải quyết, tôi đoán vậy. Chuyển đổi thành cực, người dùng argsort() để lấy chỉ mục và nội suy hình ảnh đơn giản hơn. – user1462442