gpt4 book ai didi

opencv - 用opencv突出地板上白色胶带的图像处理技巧

转载 作者:太空宇宙 更新时间:2023-11-03 22:14:56 26 4
gpt4 key购买 nike

我有以下图片:

Original

我想获得一个阈值图像,其中只有磁带是白色的,而整个背景是黑色的。到目前为止我已经试过了:

Mat image = Highgui.imread("C:/bezier/0.JPG");
Mat byn = new Mat();
Imgproc.cvtColor(image, byn, Imgproc.COLOR_BGR2GRAY);
Mat thresh = new Mat();

// apply filters
Imgproc.blur(byn, byn, new Size(2, 2));
Imgproc.threshold(byn, thresh, 0, 255, Imgproc.THRESH_BINARY+Imgproc.THRESH_OTSU);
Imgproc.erode(thresh, thresh, Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(4, 4)));

但我得到的这张图片,与我想要的相去甚远:

Thresholded image

胶带的颜色(白色)和宽度(约 2 厘米)始终相同,知道吗?谢谢

最佳答案

让我们看看你知道什么:

  • 磁带的对比度较低
  • 胶带比背景浅

如果您知道图片的比例,则可以在两个级别上运行自适应阈值。假设胶带的宽度为 100 像素:

  1. 拒绝亮度超出其周围 50x50(可能更小,但不会更大)窗口中的平均亮度 +/- x 的像素,并且

  2. 拒绝亮度小于 y + 周围 100x100(可能更大,但不能更小)窗口中的平均亮度的像素。

您还应该进行一些实验,尝试将均值和中位数作为每个阈值的“平均”定义。

从那里你应该有一个更好定义的图像,你可以删除除了最大的轮廓(大概是轨迹)之外的所有轮廓

关于opencv - 用opencv突出地板上白色胶带的图像处理技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17150024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com