所以这应该是直截了当的,但我对 OpenCV 不太熟悉。
有人可以建议一种测量像素距离(红线)的方法,如下图所示?最好它有一些选项,例如测量宽度(如红线末尾和开头所示)或类似的选项。这种测量在 ImageJ 这样的软件中很常见,我可以想象在 OpenCV 中进行这种测量应该是微不足道的。
我也想在图像宽度上采集几个样本。
问候
我正在使用 openCV 并学习它
最佳答案
你的任务非常简单。
- 可选smoothing (高斯滤波器)-你必须用你的数据进行实验,看看它是否有帮助
- 边缘检测(将图像转换为代表边缘的线) - 例如 cv::Canny
- Hough transform检测线路 - openCV .
- 在霍夫变换中找到两个最大值(最长的线)
- 您将有两个直线问题,然后您可以使用此信息来计算它们之间的距离
请注意,此方法图像不必是直的。您将拥有必须以智能方式操作的线方程。如果这两条线平行,则有一个简单的公式可以计算它们之间的距离。如果它们不完全平行,那么您必须考虑此 int 并使用有关图像区域的信息来获取平均距离。
关于c++ - 测量二值化图像的垂直距离(Opencv)C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75458056/