小编Dim*_*ima的帖子

两次检测之间的交叉联合

我正在阅读论文: 法拉利等人.在"亲和力措施"部分.我明白法拉利等人.试图获得亲和力:

  1. 位置亲和力 - 使用两个检测之间的交叉结合区域
  2. 外观亲和力 - 使用直方图之间的欧几里德距离
  3. KLT点亲和力测量

但是,我有两个主要问题:

  1. 我无法理解2次检测之间交叉结合的实际含义以及如何计算它
  2. 我尝试了一个略有差异的外观亲和力测量 我将RGB检测转换为HSV ..将Hue和Saturation连接成1个向量,并用它与其他检测进行比较.然而,使用该技术失败,因为袋子的检测具有比检测同一个人的头部(具有不同取向)更好的相似性得分.

对上述问题的任何建议或解决方案?谢谢你,非常感谢你的帮助.

computer-vision matlab-cvst

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

为什么C++允许将整数分配给字符串?

今天我在一个程序中遇到了一个有趣的情况,我无意中将一个无符号整数分配给了一个std :: string.VisualStudio C++编译器没有给出任何关于它的警告或错误,但我碰巧在运行项目时发现了错误,它给了我字符串的垃圾字符.

这就是代码的样子:

std::string my_string("");
unsigned int my_number = 1234;
my_string = my_number;
Run Code Online (Sandbox Code Playgroud)

以下代码也编译好:

std::string my_string("");
unsigned int my_number = 1234;
my_string.operator=(my_number);
Run Code Online (Sandbox Code Playgroud)

以下结果导致错误:

unsigned int my_number = 1234;
std::string my_string(my_number);
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?为什么编译器会使用最后一个代码块停止构建,但是让前两个代码块构建?

c++ string stl variable-assignment

20
推荐指数
2
解决办法
3651
查看次数

袋的单词培训和测试opencv,matlab

我正在使用SIFT功能在opencv中实现Bag Of Words,以便对特定数据集进行分类.到目前为止,我一直是苹果集群描述符并生成词汇.据我所知,我必须训练SVM ...但我有一些问题,我真的很困惑他们.主要问题是实现背后的概念,这些是我的问题:

1-当我提取特征然后创建词汇表时,我是否应该提取所有对象的特征(比如5个对象)并将它们放在一个文件中,所以我将它们全部放在一个包含所有对象的单个词汇表文件中话?以及在我进行分类时如何将它们分开?

2-如何实现SVM?我知道openCV中使用的函数但是如何?

3-我可以在MATLAB中完成工作,我的意思是SVM培训的实施,但有没有可用的代码可以指导我完成我的工作?我已经看到安德烈Vedaldi使用的代码,在这里,但他每次用一个类和另一个问题,他没有展示如何创建,他是用他的练习.MAT文件只工作.我能找到的所有其他实现,他们都没有使用SVM.所以,你能指导这一点吗!

谢谢

matlab opencv image-processing object-recognition matlab-cvst

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

Matlab中的元素阵列复制

假设我有一维数组:

a = [1, 2, 3];
并复制数组的每个元素n次?

例如,n应该返回replicate(a, 3).

请注意,这与...完全不同[1,1,1,2,2,2,3,3,3].我当然可以repmat通过replicate对每个元素进行实现并连接结果来实现,但我想知道是否有更高效的内置函数.

arrays matlab repeat run-length-encoding elementwise-operations

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

良好定义但改变角度图像的图像识别

问题

我有一张从摆动车上拍下来的照片.为简单起见,我将其转换为黑白图像.一个例子如下所示:

图1

图像显示高强度返回并且在其中具有图案,发现所有有效图像都以红色圈出.该图像可以根据车辆的旋转从多个角度拍摄.另一个例子是:

在此输入图像描述

这里的目的是尝试识别存在该模式的图像单元.

当前的方法

到目前为止,我已经尝试了几种方法,我使用Matlab进行测试,但最终将在c ++中实现.期望算法是时间有效的,但是,我对任何建议感兴趣.

SURF(加速鲁棒特征)特征识别

我尝试了SURF的默认matlab实现来尝试查找功能.Matlab SURF能够识别2个示例中的特征(与上面不同)但是,它无法识别常见的:

在此输入图像描述

我知道点数不同但模式仍然有些可识别.我尝试了多套图片,几乎没有共同点.从阅读关于SURF看来,无论如何它对于倾斜的图像似乎都不健壮. 也许这里有一些关于预处理的建议?

模板匹配

因此尝试了模板匹配,但对于应用程序来说绝对不是理想的,因为它不适合缩放或偏斜变化.我愿意预先处理想法来解决这个问题.这可能非常简单,关于图片的额外信息的一些讨论将进一步提供.

现在让我们调查模板匹配:假设我们有以下两个图像作为模板和当前图像:

在此输入图像描述

模板选自最前向的图像之一.在非常相似的图像上使用它我们可以匹配位置:

在此输入图像描述

但是(然而有些明显)如果我们将图片改变为不同的角度,它将无法工作.当然我们期望这样,因为模板不再像图像中的模式:

在此输入图像描述

所以我们显然也需要一些预处理工作.

Hough Lines和RANSAC

霍夫线和RANSAC可能能够为我们识别线,但是我们如何获得模式位置?

其他我还不知道的

我对图像处理场景很陌生,所以我很想听听任何其他技术,以适应这个简单但困难的图像记录问题.

传感器及其如何帮助预处理

传感器是一个3D激光器,它已经变成了这个实验的图像,但仍然保留了它的距离信息.如果我们使用从0到255的距离缩放绘制,我们得到以下图像:

在此输入图像描述

更轻的地方.这绝对可以帮助我们调整图像,一些关于最佳方式的想法?.到目前为止,我已经想过计算非0的单元格的正常情况,我们也可以做一些梯度下降或最小二乘拟合,使得距离的差异为0,这可以使图像对齐以便它永远是直的.问题是白色条纹是否更远?也许我们可以将其细分?我们在算法上构建算法,所以我们需要小心,这样就不会成为怪物.

任何帮助或想法都会很棒,我很乐意调查任何严肃的答案!

c++ matlab image-processing matlab-cvst

15
推荐指数
1
解决办法
1274
查看次数

java.io.IOException的可能原因是什么:"文件名,目录名称或卷标语法不正确"

我正在尝试使用以下代码复制文件:

File targetFile = new File(targetPath + File.separator + filename);
...
targetFile.createNewFile();
fileInputStream = new FileInputStream(fileToCopy);
fileOutputStream = new FileOutputStream(targetFile);
byte[] buffer = new byte[64*1024];
int i = 0;
while((i = fileInputStream.read(buffer)) != -1) {
    fileOutputStream.write(buffer, 0, i);
}
Run Code Online (Sandbox Code Playgroud)

对于某些用户targetFile.createNewFile,此异常中的结果为:

java.io.IOException: The filename, directory name, or volume label syntax is incorrect
    at java.io.WinNTFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:850)
Run Code Online (Sandbox Code Playgroud)

文件名和目录名似乎是正确的.在targetPath执行复制代码之前,甚至检查目录是否存在,文件名如下所示:AB_timestamp.xml

用户具有写入权限,targetPath并且可以使用操作系统轻松复制文件.

因为我无法访问机器,但这种情况发生了,并且无法在我自己的机器上重现问题.我转向您提供有关此异常原因的提示.

java file-io exception

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

如何在C++中"添加引用"

我是C++的新手,而且我完全没有得到的东西.在C#中,如果我想使用外部库,例如log4net,我只需添加对log4net DLL的引用,它的成员就可以自动使用(以及IntelliSense中).如何在非托管C++中执行此操作?

c++ dll visual-studio

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

如何将stl向量中的元素范围设置为特定值?

我有一个布尔值的矢量.我需要将其元素从第n个设置为第m个到第m个true.有没有使用循环这样做的优雅方法?

编辑:坦克给所有指出使用问题的人vector<bool>.但是,我正在寻找一种更通用的解决方案,就像jalf给出的解决方案一样.

c++ stl vector variable-assignment

14
推荐指数
2
解决办法
8809
查看次数

从声道中去除声音的算法

我想从mp3音轨中删除人声.我搜索谷歌,并尝试了一些软件,但没有一个是令人信服的.我打算读取mp3文件,获取波形并删除超出指定限制的波形.

你对如何进行有任何建议吗?

- 更新

我只想要能够读取mp3文件格式的代码.有没有软件?

algorithm audio mp3 voice signal-processing

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

如何根据已知的内在和外在参数在Matlab中进行透视校正?

我正在使用Matlab进行相机校准,使用Jean-Yves Bouget的相机校准工具箱.我有校准程序中的所有相机参数.当我使用不在校准集中的新图像时,我可以获得其变换方程,例如Xc = R*X + T,其中X是世界框架中校准装备(平面)的3D点,Xc是其坐标相机架.换句话说,我拥有一切(外在和内在参数).

我想要做的是对此图像执行透视校正,即我希望它删除任何透视图并看到校准装置未失真(它是一个棋盘).

Matlab的新计算机视觉工具箱有一个对象,在给定3X3矩阵H的情况下对图像执行透视变换.问题是,我不能从已知的内在和外在参数计算这个矩阵!

matlab computer-vision extrinsic-parameters matlab-cvst

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