- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想知道在 Matlab 中是否有完整的 MSER 和 HOG 图像匹配实现。目前我正在使用 VLFeat但在进行图像匹配时发现了困难。有帮助吗?
顺便说一句,我已经在 VLFeat -Matlab 环境中尝试了以下代码,但遗憾的是无法执行匹配。
%Matlab code
%
pfx = fullfile(vl_root,'figures','demo') ;
randn('state',0) ;
rand('state',0) ;
figure(1) ; clf ;
Ia = imread(fullfile(vl_root,'data','roofs1.jpg')) ;
Ib = imread(fullfile(vl_root,'data','roofs2.jpg')) ;
Ia = uint8(rgb2gray(Ia)) ;
Ib = uint8(rgb2gray(Ib)) ;
[ra,fa] = vl_mser(I,'MinDiversity',0.7,'MaxVariation',0.2,'Delta',10) ;
[rb,fb] = vl_mser(I,'MinDiversity',0.7,'MaxVariation',0.2,'Delta',10) ;
[matches, scores] = vl_ubcmatch(fa, fb);
figure(1) ; clf ;
imagesc(cat(2, Ia, Ib));
axis image off ;
vl_demo_print('mser_match_1', 1);
figure(2) ; clf ;
imagesc(cat(2, Ia, Ib));
xa = ra(1, matches(1,:));
xb = rb(1, matches(2,:)) + size(Ia,2);
ya = ra(2, matches(1,:));
yb = rb(2,matches(2,:));
hold on ;
h = line([xa ; xb], [ya ; yb]);
set(h, 'linewidth', 1, 'color', 'b');
vl_plotframe(ra(:,matches(1,:)));
rb(1,:) = fb(1,:) + size(Ia,2);
vl_plotframe(rb(:,mathces(2,:)));
axis image off ;
vl_demo_print('mser_match_2', 1);
%%%%%%
最佳答案
有几个问题。首先,代码有几个错误并且不能按原样运行。我在下面粘贴了我的工作版本。
更重要的是,您正在尝试使用 SIFT 特征匹配函数来匹配 MSER 椭球。这根本行不通,因为 SIFT 会根据局部图像梯度给出一个非常高维的特征向量,而 MSER 检测器只会给你一个边界椭圆体。
VLFeat 似乎不包含 MSER 匹配函数,因此您可能必须自己编写。查看原始 MSER 论文以了解他们是如何进行匹配的:
"Robust wide-baseline stereo from maximally stable extremal regions", Matas et al. 2002
% Read the input images
Ia = imread(fullfile(vl_root,'data','roofs1.jpg')) ;
Ib = imread(fullfile(vl_root,'data','roofs2.jpg')) ;
% Convert to grayscale
Ia = uint8(rgb2gray(Ia)) ;
Ib = uint8(rgb2gray(Ib)) ;
% Find MSERs
[ra,fa] = vl_mser(Ia, 'MinDiversity',0.7,'MaxVariation',0.2,'Delta',10) ;
[rb,fb] = vl_mser(Ib, 'MinDiversity',0.7,'MaxVariation',0.2,'Delta',10) ;
% Match MSERs
[matches, scores] = vl_ubcmatch(fa, fb);
% Display the original input images
figure(1); clf;
imagesc(cat(2, Ia, Ib));
axis image off;
colormap gray;
% Display a second copy with the matches overlaid
figure(2) ; clf ;
imagesc(cat(2, Ia, Ib));
axis image off;
colormap gray;
xa = fa(1, matches(1,:));
ya = fa(2, matches(1,:));
xb = fb(1, matches(2,:)) + size(Ia,2);
yb = fb(2, matches(2,:));
hold on ;
h = line([xa ; xb], [ya ; yb]);
set(h, 'linewidth', 1, 'color', 'y');
关于matlab - 如何在Matlab中通过MSER和HOG进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13716485/
我打算将 hog 特征描述符与 SVM 分类器结合用于对象检测项目。 scikit-image 中提供的 hog 在分类阶段产生了非常好的结果。但是,它运行得非常慢(手头每张图像 20 秒)。另一方面
在 OpenCV 中,有一个 CvSVM 类,它接受样本矩阵来训练 SVM。矩阵是二维的,样本在行中。 我创建了自己的方法来根据视频源生成定向梯度 (HOG) 直方图。为此,我创建了一个 9 chan
我有一段 MATLAB 代码,它从图像中提取一个 91x91 的像素 block ,然后用苹果 HOG 提取其特征向量。我想用 Python 重写函数。我一直在努力寻找如何在 Python 中获得与在
使用时从图像中提取HOG功能时 bin_n = 16 # Number of bins def hog(img): gx = cv2.Sobel(img, cv2.CV_32F, 1, 0)
在 openCV 中似乎没有任何 HOG 训练的实现,关于 HOG 训练如何工作的资料也很少。根据我收集到的信息,HOG 训练可以实时完成。但是培训的要求是什么?培训过程实际上是如何进行的? 最佳答案
我们有一个项目可以从图像中识别 Logo 。我们最初使用 Haar 分类器,但训练 Haar 分类器需要很多时间(在我们的 Core i5 机器上每个 Logo 需要 4 天)。为 300 多个 Lo
我在试图理解本文中 HOG 特征的大小时感到困惑。 Mid-level Elements for Object Detection. .在Dalal的工作中,一个64*128像素的窗口是由一个4*9*
我想检测显微镜图像细胞内的物体。我有很多带注释的图像(大约 50,000 张带有对象的图像和 500,000 张没有对象的图像)。 到目前为止,我尝试使用 HOG 提取特征并使用逻辑回归和 Linea
我正在从事杂草检测工作。我已经开始从 HoG 描述符中提取特征。正如从 HoG 文献中研究的那样,HoG 不是旋转不变的。我总共有 18 张草类杂草的图像,有两类。在我的训练和测试数据库中,我将每个图
我正在从事杂草检测工作。我已经开始从 HoG 描述符中提取特征。正如从 HoG 文献中研究的那样,HoG 不是旋转不变的。我总共有 18 张草类杂草的图像,有两类。在我的训练和测试数据库中,我将每个图
根据HOG过程,如论文人体检测定向梯度直方图(请参阅下面的链接)中所述,对比度归一化步骤在合并和加权投票后完成。 我一无所知-如果我已经计算了像元的加权梯度,那么图像对比度的标准化现在对我有什么帮助?
我无法理解 HOG 特征向量的大小... 场景:我拍摄了一张 286x286 图像。然后我计算了每个 8x8 补丁的 HOG。这意味着我得到了 8x8x2=128 个数字,由每个补丁的 9 bin 直
我从 hog.compute 函数中提取了特征,然后使用这些特征来训练 SVM 分类器。我使用了在网上找到的一个脚本来从分类文件中分离出 rho 和支持向量。 tree = ET.parse('svm
我是使用 HOG 检测器检测路上行人的新手,我已经编写了代码并尝试运行它,但它总是在这一行出现错误:“hog.setSVMDetector(HOGDescriptor: :getDefaultPeop
跟踪对象时,我希望能够在遮挡后重新检测到它。 在 OpenCV 3.4.5 (C++) 上,我尝试了模板匹配和光流分割。但是现在,我想使用 HOG 描述符实现更稳健的算法。 我举了一个小例子来说明这个
在谈论 Linux 内核时,“stack hog”是什么意思? 我在一些 Linux 内核书籍(Wolfgang Mauerer 的 Professional Linux Kernel Archite
在我的应用程序中,我必须使用静态摄像头跟踪大学讲座中的讲师。目前我正在使用 Emgu CV 的默认 GPUHOGDescriptor,如果讲师的整个 body 都可见,它会很好用。在讲师站在 tabl
我正在研究真菌孢子检测。我有大约 359 张正图像(真菌颗粒的裁剪图像)和 171 张负图像(灰尘颗粒的裁剪图像)。 pos/nag 图像的实际大小与粒子大小相同,约为 8x8,但对于 SVM 训练,
我已经使用 HOG 实现了汽车检测器,目前工作正常。不幸的是,我对分类器有很多误报。 到目前为止我做了什么 我将样本的比率(正:负)从 1:1 更改为 1:3 并将误报率降低到一定程度。有人可以帮助减
我有 5000 张图像,每张图像可以生成一个大约 1000 维的向量(hog 特征),但是有些图像非常相似,所以我想删除相似的图像。有办法实现吗? ==========================
我是一名优秀的程序员,十分优秀!