问题标签 [scikit-image]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如果二进制图像几乎全黑,我如何检查 numpy?
在 numpy 或 scikit-image 模块中,我如何查看二进制图像是几乎全黑还是全白?
我考虑过numpy.all
功能,numpy.any
但我不知道全黑图像和几乎全黑的图像如何。
python - 从二值化图像中删除特征
我写了一个小脚本,将黑板的图片转换成可以打印和标记的形式。
我拍了这样一张照片:
自动裁剪它,并对其进行二值化。这是脚本的输出:
我想从图像中删除最大的连接黑色区域。有没有一种简单的方法可以做到这一点?
我在考虑腐蚀图像以消除文本,然后从原始二值化图像中减去腐蚀图像,但我不禁想到有更合适的方法。
python - Python:从行高效创建二进制图像
给定一条线,我想快速创建一个由该线分隔的两个区域的二值图像。我这样做是
func(i) 是
并且pix_arr
是一些 2D numpy 数组。是直线方程中的斜率和常数m
。c
我得到输出,例如
有没有更快的方法来做到这一点?
python - matplotlib 相当于 skimage.io.imread(fname, as_grey=True)?
因为这是一种非常普遍的做法......我想知道 matplotlib 是否等同于 scikit-image 中的这个函数?
直接将RGB文件读取为灰度?
我需要使用 matplotlib 等效项,因为我正在使用它来绘制结果。正如我所观察到的,io.imread 读取的 ndarray 似乎与 plt.imread 读取的不等价。
谢谢!
python - 限制/控制 scikit-image 生成的 hog 特征的数量
从这个问题开始,我能够将图像的 HoG 特征放入一个可用于分类的 numpy 数组中,但是每张图像的 HoG 特征的数量是不同的。
例如,一个图像生成一个包含 2080 个元素的 HoG 特征数组,另一个生成一个包含 1744 个元素的数组,依此类推。
如何控制生成的 HoG 特征的数量?对于m个样本,我需要将一个大小为mxn的数组传递给机器学习算法,因此n需要是常数。令我惊讶的是,在提取它们的 HoG 特征之前,我已经将所有图像的大小调整为相同的大小,那么为什么会有差异呢?
python - 噪声图像中的长边界检测
我正在尝试从相当嘈杂的图像中提取单个长边界(请原谅绿色,无论如何图像都会转换为灰度)。我尝试运行各种边缘检测和阈值算法来提取边界。到目前为止,我得到的最接近的是使用与 scikit-image 捆绑的本地 Otsu 阈值:
即便如此,我仍然无法提取任何有意义的边界——当我尝试对图像使用边缘检测时,它会陷入噪声中,而噪声会被阈值处理大大放大——边界检测算法非常依赖于计算导数,因此二进制图像中的急剧过渡确实会损害它们的性能,但我认为这是必要的,因为根本没有其他方法能够区分边界。
是否有某种方法可以强制局部 Otsu 阈值在特定全局阈值下消除噪声,或者让其中一种边界提取算法忽略看起来像的东西?
还是最好根据本地 Otsu 阈值编写替换,仅在返回类似于线条的模式时应用阈值?
感谢您找到获得相关边界的正确方法的任何帮助。
python - 在轴上绘制图形,但在尝试基于 HoG 特征对图像进行分类时没有得到任何结果
我需要使用增强级联训练对 scikit-learn 中的一些图像进行分类。我想根据HoG特征进行分类。
我下面的代码改编自这个例子。
这部分代码是我唯一真正做过的事情:
其余代码来自链接上的示例:
我的问题是,这是根据 HoG 特征对图像进行分类的正确方法吗?共有 528 张图片。首先它们是 240x360。但是当我打印 的形状时img_hogs
,我得到了:
有人告诉我没有要绘制的图表,因为分类会提前终止,因为特征比图像多得多。所以我将图像缩小到 20x30。
现在,当我打印 的形状时img_hogs
,我得到:
但我仍然没有得到任何结果。在任何一种情况下,都绘制了轴,但图形为空。
python-2.7 - 在 scikit-learn 中使用级联提升进行图像分类 - 为什么分类会提前终止?
我已经在这里粘贴了我的所有代码,以防您需要它来理解我的问题:Plotting a graph on axes but getting no results while trying to classification image based on HoG features
我的问题是:给定大约 500 张图像(加州理工学院“ Cars 2001 ”数据集),每张图像有 48 个 HoG 特征,提早终止的可能原因是什么?什么可能导致完美拟合,或者增加样本权重的问题,以及如何解决这些问题?我使用的具体算法是 SAMME,一个多类 Adaboost 分类器。我在 Anaconda 上使用 Python 2.7。
当我在数据集分类期间检查某些变量时,将n_estimators
参数设置为 600,我发现:
- 离散测试错误:由 1 个项目组成,而不是由 600 个值组成的数组
- Discrete_estimator_errors:再次是一个单一的值,而不是一个包含 600 个值的数组
- real_test_errors 再次只是一项,而不是 600
- 离散估计权重:数组([1.])“
- n_trees_discrete 和 n_trees_real:1 而不是 600
python - Python:将图像显示为后台进程?
我正在使用 scikit-image,下面显示了我在 ipython 控制台中所做的事情:
这很好用,除了查看器作为前台进程运行,这意味着在关闭查看窗口之前我无法访问 ipython shell。我喜欢这个观众;至少对于灰度图像,光标显示当前像素的灰度和索引。但我希望既能显示图像,又能在控制台中继续工作。我怎样才能最好地做到这一点?