问题标签 [edge-detection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
image - 边缘检测和透明度
使用在一致背景下拍摄的衣服图像,我想让图像中的所有像素都透明,除了衣服。解决此问题的最佳方法是什么?我研究了为此常用的算法和开源库opencv。除了自己滚动或使用 opencv 之外,还有一种简单的方法可以做到这一点吗?我对任何语言或平台持开放态度。
谢谢
cocoa - 实现套索选择工具的算法?
我正在开发一个 Mac OS X 应用程序,作为它的 UI 的一部分,它将在它的主视图中显示许多可以选择的视觉元素。这些元素可以真正定位在视图中的任何位置。UI 将支持选择元素的各种方式:矩形选框选择、椭圆选框选择和“自由”套索选择。
我已经有矩形和椭圆选框工作。该算法非常简单;如果元素的区域与矩形/椭圆的区域相交,则该元素被视为“已选中”。
套索选择将像在 Photoshop 等现代图像处理应用程序中一样工作;用户可以单击并拖动一条将自行关闭的路径,并且将选择包含在绘制的路径中的元素。
该算法可能比矩形/椭圆选择复杂得多,因为选择的形式不受限制。我想知道是否有人有编写这样的东西的经验,或者您是否可以为我指出正确的方向,即需要什么样的编程技术,以及该算法可以工作的最有效方式是什么。
提前致谢。
matlab - 在matlab中找到直线和我们的图形之间的交点
我们正在做一个关于耳朵识别的项目。我们已经在一个图中得到了耳朵的边缘并找到了每个的质心。我们还以 10 度的间隔从质心画线。现在我们需要知道如何在matlab中找到这些线与我们耳朵边缘的交点。
graphviz - 如何控制graphviz中的节点放置(即避免边缘交叉)
我正在使用 graphviz (dot) 来生成您可以在下面看到的图表。左下角的节点(红色椭圆)会引起烦恼,因为它的边缘穿过相邻节点的多个边缘。有没有办法将节点放置到某个区域?
c# - 托管代码 (C#) 与 Matlabs 和 C++ 的速度对比
我即将开始开发一个边缘检测系统(一旦我读过几本书,我正在以很快的速度这样做),但我想知道的一件事是像 Matlabs 这样的应用程序的速度(它可以将代码编译为 C++)与 AFORGE.NET 进行边缘检测。
非托管代码通常更快吗?
谢谢
map - 如何通过一些图像/电影帧创建房间的 2D 地图?
我想通过获取所有方向(360° - 例如电影帧)的图片(天花板)来创建房间的简单 2D 地图,通过边缘检测识别墙壁,删除其他不需要的对象,在正确的位置连接图像(参见墙壁、全景),最后创建近似的 2D 地图(从上方看)。获取比例将是另一个参数,这可能很有用。
目前我有一些自己的想法,例如使用 Sobel 算法,但如果有人知道一些项目或软件(GPL,首选免费软件)已经这样做了,那会很有趣,因为我仍在寻找一些例子,这可能对我有帮助。
谢谢。
c++ - 在边缘检测算法中清除噪声
我最近写了一个非常基本的边缘检测算法,它适用于一个字符数组。该程序旨在检测数组上单个特定值的 blob 的边缘,并通过简单地查看数组元素的左、右、上和下并检查其中一个值是否与它的值不同来工作目前在看。目标不是产生一条数学线,而是一组有序的点,代表一个描述的闭环边缘。
该算法工作得非常好,除了我的数据包含一点噪音,因此会随机产生不应该有边缘的边缘。这反过来又对我以后的一些其他程序造成了严重破坏。
数据包含两种类型的噪声。第一种类型相当稀疏且有些随机。第二种是 x=y 轴上的半连续直线。我知道第一种噪音的来源,它是数据的一个特征,我对此无能为力。至于第二种类型,我知道这是我的程序的错导致它......虽然我不知道究竟是什么导致了它。
我的问题是:我应该如何完全消除噪音?
我知道正确的数据具有始终相邻的点,并且非常紧凑且有序(没有间隙)并且是闭环或多环。第一类噪声通常是稀疏和随机的,可以通过检查是否有任何边缘紧邻噪声点也被视为边缘来轻松处理。如果不是,那么这个点就是最明显的噪音,应该被删除。
然而,第二种类型的噪声,即我们有一条关于 x=y 的半连续线会带来更多问题。这条线有时对于随机长度是连续的(最长的是它在我的整个数组中连续穿过一半)。它甚至有可能与实际边缘相交。
关于如何做到这一点的任何想法?
c++ - 精巧的边缘检测 - 灰度图像总是以 3 通道出现,无法使用?
我正在阅读 O'Reilly 系列中的“Learning OpenCV”一书,并尝试执行一个精明的边缘检测示例。
我选择的任何灰度图像似乎都有 3 个通道,据我所知,canny 只适用于单通道图像,所以这总是失败。我什至在使用 OpenCV 提供的图像。
这是我的代码..
为什么这总是给我 3 通道图像?我该如何解决这个问题?
c# - 如何最佳地确定图像中的边缘?
我最近遇到了裁剪和调整图像大小的问题。我需要裁剪图像的“主要内容”,例如,如果我有一张与此类似的图像:(来源:msn.com)
结果应该是带有 msn 内容的图像,没有白色边距(左和右)。
我在 X 轴上搜索第一个和最后一个颜色变化,在 Y 轴上搜索相同的东西。问题是逐行遍历图像需要一段时间。对于 2000x1600 像素的图像,返回 CropRect => x1,y1,x2,y2 数据最多需要 2 秒。
我尝试为每个坐标进行遍历并在找到的第一个值处停止,但它不适用于所有测试用例..有时返回的数据不是预期的数据,并且操作的持续时间相似..
知道如何减少遍历时间并发现围绕“主要内容”的矩形吗?
android - Android中的Sobel边缘检测
作为我正在为 Android 开发的应用程序的一部分,我想向用户展示他们拍摄的图像的边缘检测版本(类似于下面的示例)。
为了实现这一点,我一直在研究 Sobel 运算符以及如何在 Java 中实现它。但是,我发现的许多示例都使用了不属于 Android的 AWT 中的对象和方法(例如这个示例)。
那么我的问题是,Android 是否提供了上述示例中使用的 AWT 功能的替代方案?如果我们仅使用 Android 内置的库来重写该示例,我们将如何进行呢?