如何找到一条边界线,该边界线将图像上的两种不同颜色分开,目的是沿该线分割图像?

问题描述

我正在研究化学应用中的视频和图像处理。该应用程序包括随时间跟踪双色粒子的方向。作为输入,我有一个粒子的视频,将其分解为使用OpenCV预处理的图像。

为了跟踪粒子的方向,我必须首先找到一条线,该线可以将粒子的黑色部分与白色部分分开,并使用它来跟踪随时间变化的角度。

我的原始输入图片

Input image

要预处理我的图像,我使用了Canny DetectionFind contour方法来检测所需的粒子轮廓,使用遮罩统一背景并处理了图像,使其具有清晰的黑色,白色分离。

稍后,我尝试使用OpenCV's HoughLines method图片下方以及网站上提到的代码),但显然使用的行不会拆分粒子的颜色。

因此,我想知道是否有一种方法可以改变我的线条的方向或找到可以(最紧密地)将我的粒子中的黑色和白色分开的边界线。

如果我解决了这个问题,我所要做的就是将其应用于视频的所有帧,并跟踪该假定的“边界线”与水平线形成的角度。

A failed attempt to draw a line separating the black and white in my particle using OpenCV's HoughLines

编辑:我正在添加一条“期望的”行,以便通过将黑色与白色分开来更清楚地了解我的意思:

Expected result (approximately)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...