c++ - 测量二值化图像的垂直距离(Opencv)C++

标签 c++ opencv

所以这应该是直截了当的,但我对 OpenCV 不太熟悉。

有人可以建议一种测量像素距离(红线)的方法,如下图所示?最好它有一些选项,例如测量宽度(如红线末尾和开头所示)或类似的选项。这种测量在 ImageJ 这样的软件中很常见,我可以想象在 OpenCV 中进行这种测量应该是微不足道的。

我也想在图像宽度上采集几个样本。

binarized image

问候

我正在使用 openCV 并学习它

最佳答案

你的任务非常简单。

  1. 可选smoothing (高斯滤波器)-你必须用你的数据进行实验,看看它是否有帮助
  2. 边缘检测(将图像转换为代表边缘的线) - 例如 cv::Canny
  3. Hough transform检测线路 - openCV .
  4. 在霍夫变换中找到两个最大值(最长的线)
  5. 您将有两个直线问题,然后您可以使用此信息来计算它们之间的距离

请注意,此方法图像不必是直的。您将拥有必须以智能方式操作的线方程。如果这两条线平行,则有一个简单的公式可以计算它们之间的距离。如果它们不完全平行,那么您必须考虑此 int 并使用有关图像区域的信息来获取平均距离。

关于c++ - 测量二值化图像的垂直距离(Opencv)C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75458056/

相关文章:

C++ 检测输入重定向

c++ - 旋转矩阵的方向 vector

c++ - dlib-19.1:从图像(例如 dlib::cv_image)初始化 dlib::matrix 以进行 DNN 训练

image-processing - 帮助 OpenCV cvInitUndistortRectifyMap 和单个相机

c++ - C++ Rhel confd cdb_get以奇怪的顺序返回元素

c++ - 使用 node.js 访问以 c++ 编写的 SDK

python - OpenCV错误: Assertion failed (scn == 3 || scn == 4) in cvtColor

python - 如何在图像中找到形状的坐标

python - python 中的 cv2.cuda_CascadeClassifier

c++ - C++ 17的新功能是什么?