簡體   English   中英

從matplotlib等高線圖中提取特定路徑

[英]Extract specific paths from matplotlib contour plot

我有以下輪廓圖:

fig, axes = plt.subplots(1,6, figsize=(18,3))

for idx in range(6):
    axes[idx].contour(KX[kxl:kxr,kxl:kxr],KY[kxl:kxr,kxl:kxr],eigs[kxl:kxr,kxl:kxr,idx].real, levels=[0])
    axes[idx].set_xlabel(x_label_k)

axes[0].set_ylabel(y_label_k)

6個特征值輪廓

重疊它們將得到以下圖像:

fig, ax = plt.subplots(1,1, figsize=(4,4))

for idx in range(6):
    ax.contour(KX[kxl:kxr,kxl:kxr],KY[kxl:kxr,kxl:kxr],eigs[kxl:kxr,kxl:kxr,idx].real, levels=[0])

ax.set_xlabel(x_label_k)
ax.set_ylabel(y_label_k)

重疊輪廓

從上面的圖像中,我感興趣的是僅繪制以下編輯圖像中顯示的4個“圓形”形狀:

編輯的圈子

如果可能的話,我想要組成這些細長圓的(kx,ky)點對,而沒有其他工件的任何點。

我已經看到有一種方法可以沿着問題的輪廓從等高線圖中提取點值,但是,這給了我一組(2000,2000)點,我不知道該如何過濾。 我在想也許可以根據等高線的路徑來做一些事情?

請注意,實際上可以看到圓形在6個圖的行中的起源,但是問題是,要組成2個較小的內部圓,必須將子圖2、3、4和5組合在一起。外層的,則更簡單,因為它們在子圖5和6中相對分開。

從輪廓提取集后,嘗試使用RANSAC 這里給出C#從噪點中提取圓的實現。 這里給出一個通用而簡單的Python實現。

你也可以嘗試Least Square Circle Fitting為這一個例子Python給出了這里

祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM