Questions tagged «image-segmentation»

图像分割是指将数字图像划分为多个片段的过程,通常用于定位对象和边界。

6
分割树叶中的静脉的最佳方法?
我已经做了许多研究,并发现了诸如自适应阈值法,分水岭等方法,可以用于检测叶片的脉络。但是阈值化不好,因为它会引入很多噪声 我所有的图像都是灰色图像,在迫切需要帮助的同时考虑到这个问题时,任何人都可以建议采取什么方法 编辑:我的原始图片 阈值化之后 如答案所示,我已经尝试了以下边缘检测 坎尼 太多的噪音和不必要的干扰 索贝尔 罗伯茨 编辑:尝试了一次以上的操作,我得到的结果比我尝试过的精巧和适应性更好的以下结果您感觉如何?

2
如何识别桌游中的六角形拼贴?
我想识别照片中六角形拼贴的边界,如下图所示: 在我看来,在正方形网格上的一种标准方法是首先检测角(例如Canny),然后通过霍夫变换或类似方法提取最长的线。 这看起来不是十六进制平铺的最佳解决方案,因为外线的长度较短,并且很难将其与其他线分开。 有解决这个问题的算法吗?在opencv中有解决方案会特别好,但是我也对一般想法感兴趣。 更新: 使用python和opencv我可以收到以下结果: 这是我的代码: import cv2 import numpy as np imgOrig = "test1"; img = cv2.imread(imgOrig+".jpg"); lap = cv2.Laplacian(img, cv2.IPL_DEPTH_32F, ksize = 3) imgray = cv2.cvtColor(lap,cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(imgray,127,255,0) contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE) size = img.shape m = np.zeros(size, dtype=np.uint8) for i, cnt in enumerate(contours): if cv2.contourArea(cnt) …


2
图像配准分割
图像配准算法通常基于点特征,例如SIFT(尺度不变特征变换)。 我看到了一些有关线要素的参考,但是我想知道是否可以匹配图像段而不是点。例如,给定的源和转换后的图像: 我可以对每个像素进行边缘检测,模糊和分水岭变换: 遗憾的是,在每个图像上的分割结果差异太大,无法匹配各个段。 我看到了一些关于匹配形状和形状描述符的论文,这些关系对于仿射变换是不变的,所以这个领域似乎很有希望... 是否存在任何更鲁棒的仿射(甚至射影)图像变形方法?

6
不同材质的图像分割问题
嗨,简历/模式识别社区, 关于图像的分割,我遇到了一个严重的问题。场景是炉子里的气氛,使我发疯。而且我需要在短时间内(<10秒)而不是仅在一种特殊情况下检测不同材料(玻璃,陶瓷,Al,Ir ...)的物体轮廓。我还需要代码的连续像素行中的轮廓。因此,还需要使用链代码或所谓的边界/轮廓跟随,因此开孔不好。在背景中会不时出现非线性噪声,大约是灰尘,颗粒或其他一些东西。 欢迎使用Matlab或OpenCV建议。 为了更加清楚,我发布了目标的另一个图像和一个半透明的对象,还需要对其进行检测。还需要注意其他示例。 正如您在图像#1中看到的那样,图像的右侧部分和恒星的外轮廓附近(即物体)存在粒子。而且总体对比度不是很好。对象本身位于地下,与轮廓检测无关。图像#2显示了半透明的物体,这也是可能的。 我想找到该物体的轮廓/周长,就像在下一个屏幕(红线)上一样。两个矩形(黄色)标记了起点(左侧)和终点(右侧)。蓝线是可忽略的。 起初我以为我可以只用过滤器解决那种肮脏的气氛。但是经过大量的投入时间,我才意识到,为了提高前景和背景的对比度,我必须大幅度消除或减少噪音。我尝试了很多方法,例如直方图均衡,自适应Otsu均衡,线性滤波器(例如高斯),非线性滤波器(中值,扩散),活动轮廓,k均值,Fuzzy-c-means以及纯Canny边缘检测结合形态运算符。 坎尼:粒子和大气正在造成孔洞,但是我需要物体的完整轮廓。仍然以形态算子的闭合,扩张还不够好。由于滞后作用,Canny仍然是我研究过的所有方法中最好的结果。 活动轮廓线:它们也可以在边缘/渐变上工作,在对象内部初始化后它们的行为完全疯狂,这可能是由于边缘贴图导致“开放”对象引起的。据我所知,轮廓必须闭合。尝试了不同的衍生产品(GVF / VFC /经典蛇)。 k均值:由于有雾的背景,结果包括炉内气氛。对于模糊C均值也是如此。由于将对象与背景分离,我选择了两个群集。簇越多,结果越弱。 直方图/ Otsu:由于灰度强度非常接近(恕我直言!),它会将对象与背景合并。尝试使用本地和全局方法。 滤镜:尤其是GLPF或其他LPF会弄脏边缘,效果不是很好,甚至不会减少有雾的气氛。 非线性滤镜保留边缘。它们中的大多数都花很长时间计算大图像。现在使用快速双边过滤器。结果见下文。 因此,没有一种方法足以满足后处理步骤的需要,因为对象段的获得结果与现有算法的竞争性较差。该现有算法非常本地化,因此适用于这种非常特殊的情况。 所以我问你,如果我完全错过了什么...我不知道如何加工以及如何获得良好的轮廓结果而又没有间隙或孔。 CCD和物理环境?提前致谢! 到目前为止的最后一种方法(经过一整夜的MO实验): 双边过滤器(保留边缘,但平滑均匀区域) Canny(Sigma = 2,Threshold = [0.04 0.08]) 形态运算(MO): bwareopenclosing, remove和bridge bwlabel仅选择轮廓的周长,以消除不必要的噪音。尚无更新的屏幕截图,但适用于明星。玻璃杯有一个与外部轮廓相连的内部轮廓,也可以在下面的屏幕截图中看到。 因此,恐怕我需要一种特殊的算法来遍历外部轮廓。这将是对邻居的一些顺时针/逆时针查找。如果存在拐角,则可以切换顺时针/逆时针的步骤。如果有间隙,请增加半径并再次查看。如果存在以下两个或两个以上的观点,请选择与前一个观点相同的观点。您认为轮廓跟随算法有意义吗?

4
从书架图像中切片和识别书名和作者
出于我自己的学习目的,我正在尝试开发一种算法,该算法将列出书,并给出如下书架的图像: 第一步是将图像切成单独的书。 我在Mathematica中的算法是: img = ColorConvert[Import["http://i.stack.imgur.com/IaLQk.jpg"], "GrayScale"] 做一个基本的边缘检测和 删除文本并尝试保持长行 edge = DeleteSmallComponents[EdgeDetect[img, 3],Last[ImageDimensions[img]]/5] 然后删除不需要的水平线 lines = Sort[ImageLines[img5] /. {{0., _}, {_, _}} -> Sequence[]] Show[img, Graphics[{Thick, Orange, Line /@ lines}]] 但是结果却不尽人意: 我的问题是: 我该如何改善它以获得更好的结果? 有更聪明的方法吗? 我应该进一步处理图像以提高(后期)OCR阶段的准确性吗? 如何使用颜色信息改善分割效果?

1
重建被叶子遮挡的树枝
在树枝的部分被树叶覆盖的树的照片中,人们将如何大致重构树枝? 我可以通过脱阈,然后以几个不同角度的线段打开来提取分支的可见部分。但是我该如何(大约)填充树叶所覆盖的空间? 假设我们从下面的树图开始: 将图像加载为灰度 uu = mmreadgray('tree2.jpg') 限制较深的颜色;转换为二进制;删除200px区域以下的连接区域 vv = mmareaopen(mmbinary(mmthreshad(mmneg(uu),200)),20) 用90、180、135和45度的10px线段打开vv;将这些图像加在一起形成标记图像zz zz = mmaddm(mmaddm(mmaddm(mmopen(vv,mmseline(10,90))),mmopen(vv,mmseline(10,180))),mmopen(vv,mmseline(10,135))),mmopen(vv,mmseline(10,135))),mmopen(vv,mmseline(10,135))),mmopen(vv,mmseline(10,135))),mmopen(vv, mmseline(10,45))) 从标记图像zz重建vv中可见的肢体部分 aa = mminfrec(zz,vv) 在原始图片uu上方显示结果aa;合理地提取四肢 mmshow(uu,aa) 对于现在如何大致重建整个肢体的任何想法,我将不胜感激。(或改进上述步骤)。谢谢!

4
在图像中找到斑马纹图案(从照片中检测结构光条纹中心线)
我在一个项目上工作,该项目将条纹投射在主体上,并拍摄了照片。任务是找到条纹的中心线,这些中心线在数学上代表条纹平面与对象表面之间的3D交点曲线。 该照片是PNG(RGB),以前的尝试是使用灰度,然后使用差异阈值来获得黑白的“斑马纹”摄影,从中可以轻松找到每个条纹的每个像素列的中点。问题在于,通过阈值化并通过获取离散像素列的平均高度,我们会遇到一些精度损失和量化问题,这是根本不希望的。 通过查看图像,我的印象是,如果通过某种统计扫描方法直接从非阈值图像(RGB或灰度)中检测到中心线,则中心线可能会更连续(更多点)和更平滑(未量化) (无论是泛洪/迭代卷积)。 下面是一个实际的示例图像: 任何建议将不胜感激!


3
最常见的现代图像分割技术
我正在阅读一些有关图像分割技术的文章,并且想知道现代的,最新的分割算法。 当前哪些是“必读”(即社区中最常用)的细分技术?您与哪些技术接触并发现最有效和最有用的技术(以及针对哪种应用程序)?

2
分割半透明的材料,例如玻璃
我完全陷入关于玻璃物体分割的问题。我需要使对象尽可能精确。我的方法是不同的。首先,我尝试删除背景,以便仅保留一些清晰的轮廓。但这仅适用于具有尖锐边缘/渐变的对象。否则,对象本身也将被删除。我张贴了两个不同的图像。 我试图通过形态学操作(例如灰度膨胀和其上的分界线)去除背景。但这并没有太大帮助。之后,我尝试使用k = 3的k均值来使修改后的背景与玻璃的灰度和黑色值分开。在某些情况下,这并不成功,但总体/平均而言却并非如此。我还尝试使用整体模糊的滤镜进行Canny边缘检测,但这导致以开放轮廓,大量噪点等形式出现的结果较弱。 Canny具有自动阈值结果: testimg = imread('http://i.imgur.com/huQVt.png'); imshow(testimg) imedges = edge(testimg,'canny'); imshow(imedges); 第二张图片也一样。 如您所见,玻璃内部和外部都有大量噪声,并且玻璃边缘的边缘加倍。即使边缘有缝隙。 因此,我需要您的建议以获取一种通用的方法来处理半透明材料的问题,而不仅仅是这两个图像。 1)在不损坏对象的情况下移除背景的其他想法? 2)其他使对象与背景分离的分割方法? 如果可能,则使用Matlab,IPT或统计工具箱提示。任何其他提示也欢迎! 谢谢您的提前答复。真诚的

3
了解YCbCr颜色空间中的Cb和Cr成分
我熟悉加性(RGB),次主色(CMYK)和类似HSV的色彩空间,但是我目前试图理解的一篇文章在YCbCr色彩空间上进行图像分割/对象定义。 我整个上午都在寻找可以自然解释YCbCr的东西,但我却一无所获。我有一个不错的直观解释该色彩空间背后的总体思路 这里,和它是如何用于图像编码的/压缩的解释,这些 人(全部在photo.SE)。 从RGB计算YCbCr的公式很容易在维基百科上找到。 我得到了这种表示的动力,我得到了Y分量包含有关图像的最重要的(对于人眼而言)灰度信息。 我知道Cb和Cr带有关于颜色的信息,并且(由于人眼的敏感性)可以压缩它们,而看不到质量的损失。但是,每个色度分量实际上代表什么? 正如文章作者提到的那样,“色度信息在对象定义中至关重要”,而我目前的“ Y是强度,Cb和Cr某种程度上承载了颜色信息”水平,我无法完全理解我正在阅读的内容。了解YCbCr。 我正在寻找“ Cb是...,而Cr是...”或“如果您想通过XY查看/实际上是在查看Cb成分...”的答案,或者另一种可以帮助我理解每个组件分别承载的信息的方法,而不仅仅是它们一起承载了颜色信息。 编辑 让我举例说明我正在寻找的其他颜色空间的直观解释: RGB:就像在黑色的墙壁上照耀着彩色的手电筒一样:如果您用蓝色的手电筒照亮,则会看到蓝色的反射。如果添加红色手电筒,它将显示品红色反射,是蓝色和红色的混合物。 CMYK:就像混合水彩画一样,您“添加表面反射的颜色”(即从背景中减去颜色),因此,如果将黄色和青色混合在一起,则将反射绿色,从而得到绿色。 HSV:小孩被高度饱和的物体所吸引,而不是明亮的(有价值的)物体。色相成分是“赋予颜色”的成分,而低饱和度意味着颜色被白色“稀释”。价值的变化使整个事物变得更亮或更暗。 有了这些定义,我就可以直观地了解每个颜色空间中的颜色表示的含义,而无需记住每个图表的颜色。

3
色度二次采样:如何正确计算数据速率
我很难理解在利用Y'UV图像中的色度二次采样时如何计算数据速率: 我有以下示例进行计算: 图像分辨率:352*288 频率:25 fps 对于(4:4:4),示例计算如下: (352px * 288px) * 3 color channels * 25 fps * 8 bit = 60 825 600 bit/s 到目前为止,一切都很好。 但是现在来了(4:2:0): (352px*288px) * 1.5 color channels * 25 * 8 = 30 412 800 bit/s 现在,尝试将此示例转换为例如(4:1:1),我意识到我不确定自己是否正确理解如何计算1.5个颜色通道的比率。 我对计算的第一个猜测是在(4:2:0)的情况下: 2/4*3=1.5 color channels 同样,对于(4:1:1),我将计算颜色通道的比率为: 1/4*3=0.75 color channels 但是我根本不确定这是否是正确的方法。 …

1
计数图像中的车辆
我一直在尝试实现一种算法,以成功对图像中的汽车进行计数。我尝试在交通图像中存在多车遮挡的情况下实现一种车辆计数方法 它从一组各种图像中估计背景。我已经为此目的研究了各种其他技术,所有这些技术都以一种方式或另一种方式使用了一组图像的背景估计或需要视频。作为输入,我几乎看不到背景(可能是大多数论文中的道路)的交通图像。而且,这些图像来自不同的区域,因此它们也不具有相同的背景。在这种情况下我应该如何进行? 我在想,如果我能以某种方式匹配车辆(汽车)的结构,那么也许它们可以匹配。但是我不知道这是否可行,以及如何进行处理,因为该图像还包含多个被遮挡的车辆。 任何提示,甚至研究论文也欢迎。 样本图像如下:

1
车辆细分和跟踪
我从事一个项目已经有一段时间了,以检测和跟踪从无人机捕获的视频中的车辆,目前,我正在使用SVM,该SVM受过从车辆和背景图像中提取的局部特征的特征包表示的训练。然后,我正在使用滑动窗口检测方法来尝试在图像中定位车辆,然后我想对其进行跟踪。问题在于,这种方法远远不够缓慢,而且我的检测器不如我希望的那样可靠,因此我得到了很多误报。 因此,我一直在考虑尝试从背景中分割汽车以找到大概位置,以便在应用分类器之前减少搜索空间,但是我不确定如何进行此操作,希望有人可以提供帮助? 此外,我一直在阅读有关使用图层进行运动分割的信息,使用光流按流模型对帧进行分割,是否有人对此方法有任何经验,如果可以的话,您是否可以提供一些输入,例如您是否认为此方法适用于我的问题。 更新:我也将这个问题发布到堆栈溢出中,并且得到了一个很好的答案,我已经实现了这个想法,并且效果很好,我正在研究除这种技术之外还使用光流技术。 以下是示例视频的两帧 框架0: 框架5:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.