【发布时间】:2017-12-28 19:36:46
【问题描述】:
我有一些数据,尺寸是 249X250。我使用以下代码绘制数据:
import numpy as np
import pandas as pd
import matplotlib.pyplot as pl
data = pd.read_excel("sample_data.xlsx")
x = np.arange(data.shape[0])
y = np.arange(data.shape[1])
mask_data = np.ma.masked_outside(data,0,233)
pl.contourf(y,x,mask_data)
pl.colorbar()
情节是这样的:
现在我想删除图右侧的较小的补丁,只保留最大的补丁。为此,我的逻辑是删除连接像素数小于某个指定阈值的那些连接像素(为此,将其设为 200)。我该怎么做?
【问题讨论】:
-
但是我在 excel 文件中有数据。这不是图像。
-
你有
data,masked_data,如果你想从masked_data工作,看起来masked_data.fill(255)会将它转换为常规的np.array,也许你需要转换为uint8太:np.array(data, dtype=np.uint8)- 那么它应该被图像处理功能识别为灰度图像
标签: python image matplotlib plot