免责声明:我是计算机视觉新手.

我看过很多关于如何在较大的图像中找到特定子图像的堆栈溢出帖子.

我的用例有点不同,因为我不希望它是具体的,我不知道我怎么能做到这一点(如果这甚至是可能的,但我觉得它应该).

我有一个大型的图像数据集,有时,其中一些图像是数据集的两个或多个其他图像的组合.我想自动裁剪这些"组合",以隔ionic 图像.

因此,任务是处理数据集的每个图像,并判断是否存在异常边界,这可能意味着图像是一个组合.

使用优秀股票图像的示例:

combination of two images

我试过的:

我已经看到houghs变换可以用于图像中的线检测,但我无法使用它实现任何事情.

推荐答案

  • 使用cv.Sobel或其他导数核(带cv.filter2D)查找边
  • 沿像素列求和, for each 列的"边缘度"打分.np.sumnp.mean这样做.
  • 一些阈值和np.argsort和索引,以找到最佳的候选人.
  • 剪切(从数组中取出切片)

边缘映射:

edge map

尖锐的情节:

edgy plot

要拍摄的切片:

array([[   0,  578],
       [ 578, 1135],
       [1135, 1136]], dtype=int64)

图片:

pic 1 pic 2

完整笔记本:https://gist.github.com/crackwitz/e1ba1ce7a6fba446288275d91f66261c

Python相关问答推荐

python panda ExcelWriter切换动态公式到数组公式

如何创建引用列表并分配值的Systemrame列

比Pandas 更好的 Select

Python pint将1/华氏度转换为1/摄氏度°°

如何在GEKKO中使用复共轭物

用来自另一个数据框的列特定标量划分Polars数据框中的每一列,

为什么在Python中00是一个有效的整数?

无法在盐流道中获得柱子

在一个数据帧中,我如何才能发现每个行号是否出现在一列列表中?

如何将验证器应用于PYDANC2中的EACHY_ITEM?

使用Scikit的ValueError-了解

Pandas ,快速从词典栏中提取信息到新栏

给定y的误差时,线性回归系数的计算误差

有没有更快的方法来快速修改、更新和排序列表或词典?

无法从文章复制Forking 图

自由空间里的激光...以及我如何才能检测到Line以进行进一步计算?

在Numpy数组中的列子集上聚合

返回最后一行以上的所有行,直到满足Python中的条件

用Arpeggio解析单行和多行注释

Microsoft Autogen中的流功能