标签: edge-detection

如何在R树形图中正确着色边缘或绘制rects?

我产生这种树状图,使用R的hclust(),as.dendrogram()plot.dendrogram()功能.

我使用dendrapply()函数和局部函数来为叶子着色,这很好.

我有统计测试的结果,表明一组节点(例如树的右下角的" _+v\_stat5a\_01_"和" _+v\_stat5b\_01_" 的簇)是重要的还是重要的.

我还有一个可以使用的本地函数,dendrapply()它在我的树形图中找到包含重要叶子的确切节点.

我想(根据例子):

  1. 为连接" _+v\_stat5a\_01_"和" _+v\_stat5b\_01_" 的边缘着色; 要么,
  2. 画一个rect()" _+v\_stat5a\_01_"和" _+v\_stat5b\_01_"

我有以下本地函数("nodes-in-leafList-match-nodes-in-clusterList"条件的详细信息并不重要,但它突出显示了重要的节点):

markSignificantClusters <<- function (n) {
  if (!is.leaf(n)) {
     a <- attributes(n)
     leafList <- unlist(dendrapply(n, listLabels))
     for (clusterIndex in 1:length(significantClustersList[[1]])) {
       clusterList <- unlist(significantClustersList[[1]][clusterIndex])
       if (nodes-in-leafList-match-nodes-in-clusterList) {
          # I now have a node "n" that contains significant leaves, and
          # I'd like …
Run Code Online (Sandbox Code Playgroud)

r dendrogram edge-detection hclust

8
推荐指数
1
解决办法
2609
查看次数

算法实现套索选择工具?

我正在开发一个Mac OS X应用程序,作为它的UI的一部分,它将在其主视图中显示许多可以选择的视觉元素.这些元素可以放置在视图中的任何位置.UI将支持各种选择元素的方式:矩形选框选择,椭圆选框选择和"自由"套索选择.

我已经有矩形和椭圆选框工作了.算法非常简单; 如果元素的区域与矩形/椭圆的区域相交,则认为元素被"选中".

套索选择将像Photoshop中的现代图像处理应用程序一样工作; 用户可以单击并拖动将自行关闭的路径,并且将选择所绘制路径中包含的元素.

该算法可能比矩形/椭圆形选择复杂得多,因为选择的形式是不受限制的.我想知道是否有人有写这样的东西的经验,或者你是否可以指出我正确的方向,关于什么样的编程技术是必要的,以及这种算法最有效的方法是什么.

提前致谢.

algorithm cocoa image-manipulation selection edge-detection

8
推荐指数
1
解决办法
4874
查看次数

Android中的Sobel边缘检测

作为我正在为Android开发的应用程序的一部分,我想向用户展示他们拍摄的图像的边缘检测版本(类似于下面的示例).

替代文字

为实现这一目标,我一直在研究Sobel运算符以及如何在Java中实现它.但是,我发现的许多示例都使用AWT中的对象和方法(如本例所示),而不是Android的一部分.

那么我的问题是,Android是否提供了上述示例中使用的AWT功能的替代方案?如果我们仅使用Android内置的库重写该示例,我们将如何进行呢?

android image-processing edge-detection

8
推荐指数
2
解决办法
2万
查看次数

找到最大数量.图中的边缘

无向图有'n'个顶点和0个边.我们可以绘制的最大边数可以使图形保持断开状态.

我已经做出了解决方案,我们可以排除一个顶点,并且可以找到无向图的n-1个顶点之间的最大边数,这样图形仍然保持断开状态.n个顶点为n(n-1)/ 2,n-1个顶点为(n-1)(n-2)/ 2可以有更好的解吗?

algorithm graph edge-detection

8
推荐指数
2
解决办法
5473
查看次数

二进制图像"视线"边缘检测

考虑这个二进制图像: 在此输入图像描述

普通边缘检测算法(Like Canny)将二进制图像作为输入,并生成红色所示的轮廓.我需要另一种算法,它将点"P"作为第二条输入数据."P"是前一图像中的黑点.该算法应该导致蓝色轮廓.蓝色轮廓表示二进制图像的点"P"视线边缘.

我搜索了很多实现这一目标的图像处理算法,但没有找到.我也试着考虑一个新的,但我仍然有很多困难.

algorithm image-processing edge-detection

8
推荐指数
1
解决办法
659
查看次数

如何模拟2D图像中的衣服变化?

我正在做一个小项目,需要:在他选择上传的任何2D图像中更换一个人的衣服(衬衫/裤子等).因此,某种程度上需要检测边缘,并且应该用新模式填充相关区域.我确实看到了很多其他的复杂情况,但我们假设只需要填充简单的模式.

  1. 对于Web应用程序,是否可以在HTML5中执行此操作?还有其他选择吗?

  2. 对于独立应用程序,首选什么样的技术,C++/Java?

更新

根据巴特的评论:

  1. 像Bart这样有用的指针非常有用
  2. 假设:在2D图像中清除可追踪的"站立"人物形象
  3. 由于它是图像,因此没有实时场景

c++ java graphics html5 edge-detection

7
推荐指数
1
解决办法
1284
查看次数

MATLAB中的Canny边缘检测器

我试图在没有调用Matlab中的canny函数的情况下执行canny边缘检测器.我为高斯滤波器(sigma = 1)和非最大抑制写了一些函数.显示原始图像和结果图像..不确定错误是什么...

原始图像是

在此输入图像描述

我得到的输出是

在此输入图像描述

我附上了代码:

%% Read in
I = imread('fruit.jpg');
figure(1),imshow(I)
I = double(I);
%% Determine Mask Size
sigma = 2;
w = mask_size(sigma);
%% Gaussian Smoothing Filter
[ G,sum ] = gauss_mask(w,sigma);
%% Convolve
I1 = (1/sum) * image_convolution(I,w,G);
figure(2),imshow(I1);
%% Ix(derivative in x-direction)
Ix= delx(I1);
figure(3),imshow(Ix);
%% Iy(derivative in y-direction)
Iy= dely(I1);
figure(4),imshow(Iy);
%% Gradient Magnitude
If = grad_mag(Ix,Iy);
figure(5),imshow(If);
%% Non-maxmimum suppression
It = suppression(If,abs(Ix),abs(Iy));
figure(6),imshow(It);



function [ G,sum ] = gauss_mask( w,sigma )
min …
Run Code Online (Sandbox Code Playgroud)

matlab image-processing computer-vision edge-detection

7
推荐指数
1
解决办法
3万
查看次数

在Canny边缘算法中只需要一条边

当我使用canny edge算法时,它会产生与预期的粗色线相对的2条边,但我只想显示一条边以便使我的线和曲线检测算法更简单,任何关于我如何能够的想法让这种情况发生?

在此输入图像描述

这是代码:

bool CannyEdgeDetection(DataStructure& col)
{

Mat src, src_gray;
Mat dst, detected_edges, fin;
int WhiteCount = 0, BCount = 0;

char  szFil1[32] = "ocv.bmp";
char  szFil2[32] = "dst.bmp";
src = imread(szFil1);
dst = imread(szFil1);
blur( src_gray, detected_edges, Size(3,3) );
Canny( src, dst, 100, 200, 3 );
imwrite(szFil2, dst );

IplImage* img = cvLoadImage(szFil2);
int height    = img->height;
int width     = img->width;
int step      = img->widthStep;
int channels  = img->nChannels;
uchar * datau      = (uchar *)img->imageData;

for(int i=0;i<height;i++){
for(int j=0;j<width;j++){ …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-processing edge-detection mathematical-morphology

7
推荐指数
1
解决办法
1810
查看次数

在均匀强度图像中检测物体

我在泥中有Tiger Pugmark(足迹印象)的图像.我想检测pugmark的边界,但是图像在前景的强度上是均匀的,并且基于强度变化无法区分背景.我能做些什么来区分pugmark和背景.

老虎的pugmark http://imageshack.us/a/img407/4636/p1060993g.jpg

matlab image-processing computer-vision edge-detection

7
推荐指数
1
解决办法
2579
查看次数

OpenCV:阻止HoughCircles方法使用Canny Detection

我正在使用HoughCircles实时检测球,但在我的灰度图像流上运行Canny并不能创建所有边缘.为了解决这个问题,我将rgb图像拆分为单独的通道,在每个通道上执行Canny,然后使用按位或将边合并在一起.这非常有效,但是如果我将该边缘图像提供给HoughCircles,它将在边缘图像上再次执行Canny.有没有办法防止这种情况,或者放弃我正在执行的rgb拆分Canny检测,同时仍能捕获所有边缘?

c++ opencv object-detection edge-detection hough-transform

7
推荐指数
1
解决办法
4304
查看次数