小编Mar*_*mos的帖子

如何使用SIFT进行图像比较

我最近偶然发现了C#SIFT实现.我觉得玩它会很有趣,所以这就是我的所作所为.

该实现为任何给定图像生成一组"兴趣点".我如何实际使用此信息来比较两个图像?

我所追求的是单一的"相似价值".这可以从两个图像的两组兴趣点中生成吗?

opencv image-comparison sift

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

将字符串转换为cv :: mat

我需要实现一个接收包含图像字节的字符串的函数(通过boost socket连接接收)并将信息转换为OpenCV cv :: Mat.

我也知道图像的宽度和高度及其大小(以字节为单位).我的功能看起来像这样:

void createImageFromBytes(const std::string& name, std::pair<int,int> dimensions, const std::string& data)
{
   int width,height;
   width = dimensions.first;
   height = dimensions.second;
   //convert data to cv::Mat image

   std::string filepng = DATA_PATH"/" + name +".png";
   imwrite(filepng, image);
}
Run Code Online (Sandbox Code Playgroud)

这是最好的方法吗?OpenCV是否有来自字符串Mat的构造函数?

string opencv mat

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

OpenCV FREAK返回太多异常值

我正在尝试从freak_demo.cpp 示例之后的最新版本的OpenCV中获取全新的描述符FREAK .而不是使用SURF我使用FAST.我的基本代码是这样的:

std::vector<KeyPoint> keypointsA, keypointsB;
Mat descriptorsA, descriptorsB;
std::vector<DMatch> matches;

FREAK extractor;
BruteForceMatcher<Hamming> matcher;

FAST(imgA,keypointsA,100);
FAST(imgB,keypointsB,20);

extractor.compute( imgA, keypointsA, descriptorsA );
extractor.compute( imgB, keypointsB, descriptorsB );

matcher.match(descriptorsA, descriptorsB, matches);
Run Code Online (Sandbox Code Playgroud)
  • 该算法找到了很多匹配,但是有很多异常值.我做对了吗?有没有办法调整算法?

c++ opencv freak

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

在OpenCV中将角速度转换为四元数

我需要表示为四元数的角速度,以便在OpenCV中使用以下表达式更新每一帧的四元数:

q(k)=q(k-1)*qwt;
Run Code Online (Sandbox Code Playgroud)

我的角速度是

Mat w;  //1x3
Run Code Online (Sandbox Code Playgroud)

我想获得四角形的角度

Mat qwt;   //1x4
Run Code Online (Sandbox Code Playgroud)

我无法找到有关此信息的任何想法?

opencv quaternions

6
推荐指数
1
解决办法
7209
查看次数

使用计算单应性将2D点从标记投影到图像

我有一个平面标记,我运行SIFT算法来提取特征.然后我运行一个探测器在场景中找到这个标记并再次提取特征.我匹配点并使用OpenCV从匹配对中提取单应性findHomography().

现在,我想用计算的单应性投影在标记中检测到的2D点,以将位置与从场景测量的3D点进行比较,并计算重投影误差.我对像素坐标,厘米,校准矩阵感到困惑,我不知道我应该先做哪些转换.

有人知道这方面的链接还是可以解释方法?

opencv homography reprojection-error

6
推荐指数
1
解决办法
858
查看次数

打开cv ios视频​​处理

我想做发现教程在这里与OpenCV的框架ios的视频处理.

我已成功将ios openCv框架加载到我的项目中 - 我的框架与教程中提供的框架之间似乎存在不匹配,我希望有人可以帮助我.

OpenCv使用cv::Mat类型来表示图像.当使用AVfoundation委托来处理来自相机的图像时 - 我需要将所有内容转换CMSampleBufferRef为该类型.

看来教程中提供的openCV框架提供了一个名为using的库

#import <opencv2/highgui/cap_ios.h>
Run Code Online (Sandbox Code Playgroud)

使用新的委托命令:

任何人都可以指出我在哪里可以找到这个框架或者可能在CMSampleBufferRef和之间快速转换cv::Mat

编辑

opencv框架中有很多细分(至少对于ios).我已经通过各种"官方"网站下载了它,并使用他们的说明使用fink和brew等工具.我甚至比较了安装到/ usr/local/include/opencv /的头文件.他们每次都不同.下载openCV项目时 - 同一个项目中有各种cmake文件和冲突的自述文件.我认为我成功地为IOS构建了一个好的版本,<opencv2/highgui/cap_ios.h>通过此链接内置了框架(使用此标头)的avcapture功能 ,然后使用命令在ios目录中使用python脚本构建库python opencv/ios/build_framework.py ios.我会尝试更新

opencv frameworks ios

4
推荐指数
2
解决办法
5259
查看次数