小编mar*_*esk的帖子

Matlab VLFEAT-多重匹配

我在Matlab中执行与VLFEAT的SIFT匹配.

单个匹配很容易显示:我按照教程进行操作.

更新1 :(从我的需求中提取问题)

接下来我会考虑场景的4种不同视图:我希望将第一台摄像机(左下角)中找到的功能与其他摄像机匹配.

图像已经不失真.

在此输入图像描述

我可以匹配第三个图像:我设法用偏移校正坐标以获得正确的显示.我设置了高阈值(较少的点)以获得更易理解的图像.我的代码发布在下面,然后会有问题

指出(它不会影响问题或答案,只有我的代码中的变量名称)

由于我的4台摄像机实际上是在空间中移动的立体摄像机,因此4台摄像机(和相关输出)是:


左下:左边的摄像头命名为a.这张图片中的特征是fa描述符da......
右下角:左边的摄像头命名为a.此图像中的特征是fb描述符 db......
左上角:左前一个相机在前一个瞬间命名为a.此图像中的功能是fa_old描述符 da_old......
右上角:右前一个相机名为b的相机.这张图片中的特征是fb_old描述符 db_old......

移动较小,所以我预计SIFT可以检索相同的点.

此代码查找点并执行"蓝色匹配"和"红色匹配"

%classic instruction for searching feature
    [fa,da] = vl_sift((Ia_f),'NormThresh', thresh_N, 'EdgeThresh', thresh_E) ;
% with the same line I obtain
%fa are features in the current left image (da are descriptors)
%fb are features in the …
Run Code Online (Sandbox Code Playgroud)

matlab opencv computer-vision vlfeat

18
推荐指数
0
解决办法
660
查看次数

如何在GUI中嵌入外部窗口(Python + Glade + Gtk3)

我开始使用Glade,python和Gtk3库构建GUI.我想尝试查看在GUI中的容器内链接它的外部窗口.可能吗?哪个是最好的容器对象呢?

我开始搜索,但Gtk2中的简单方法(就像这里)在Gtk3中不能再使用了.

我在这里发现了一个非常有趣的帖子,它允许我设置目标窗口的正确ID,但我仍然对如何在GUI中显示它感到困惑.

我没有试图用cairo 改变这些教程.

到目前为止我的代码片段(我想在map_area容器中显示ID = 0x360000b的窗口,我必须使用"self."处理结构).暂时map_area容器是Drawingarea.

# if condition occurs    
    Gdk.Window.process_all_updates()
    win_id = 0x360000b # from xwininfo command
    root_win = GdkX11.X11Display.get_default()
    win = GdkX11.X11Window.foreign_new_for_display(root_win, win_id)
    width = win.get_width()
    height = win.get_height()   
    self.map_area = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height)               
    pixbuf = Gdk.pixbuf_get_from_window(win, 0, 0, width, height)
    cr = cairo.Context(self.map_area)   
    Gdk.cairo_set_source_pixbuf(cr, pixbuf, 0, 0)
    cr.paint()
Run Code Online (Sandbox Code Playgroud)

谁能帮我?先感谢您!

python gtk glade gtk3

13
推荐指数
1
解决办法
1039
查看次数

使用 python 将结果保存在 YAML 文件中

经过一个小时的搜索之前的答案后,我陷入了这个小问题。我想将代码中的矩阵存储在 .yaml 文件中

我从我的代码中获得什么

Matrix
[[  1.00665266e+03   0.00000000e+00   5.08285432e+02]
 [  0.00000000e+00   1.01086937e+03   3.45995536e+02]
 [  0.00000000e+00   0.00000000e+00   1.00000000e+00]]
Run Code Online (Sandbox Code Playgroud)

我如何尝试保存这个矩阵(mtx是我的代码中的较短名称)

fname = "calibrationC300.yaml"

data = dict(
    Matrix = mtx,
)

with open(fname, "w") as f:
    yaml.dump(data, f, default_flow_style=False)   
Run Code Online (Sandbox Code Playgroud)

但我在 YAML 文件中读到的内容完全错误(只是转换错误?)

Matrix: !!python/object/apply:numpy.core.multiarray._reconstruct
  args:
  - &id001 !!python/name:numpy.ndarray ''
  - !!python/tuple [0]
  - b
  state: !!python/tuple
  - 1
  - !!python/tuple [3, 3]
  - !!python/object/apply:numpy.dtype
    args: [f8, 0, 1]
    state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
  - false
  - …
Run Code Online (Sandbox Code Playgroud)

python yaml numpy

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

人口普查变换在python openCV中

我开始在与stereovision相关的项目中使用openCV和python.我在openCV中找到了关于C++中Census Transform的文档页面. 链接

有谁知道python实现是否有类似的功能?

(例如cv2.nameofthefunction)

谢谢你们!

编辑:PM 2Ring的优秀解决方案(再次感谢)可以使用openCV进行这一小改动:而不是使用Image.open

img = cv2.imread(img.png)
#some minor changes I needed like select some ROI and store them in img2[j] 
#then a for cycle in which I wrote
src_img = img2[j] 
h, w = src_img.shape
Run Code Online (Sandbox Code Playgroud)

其中"shape"指令似乎将w和h的顺序与"size"命令进行比较.然后我粘贴PM 2Ring的其余代码,它工作得非常好

python opencv

4
推荐指数
1
解决办法
2278
查看次数

标签 统计

python ×3

opencv ×2

computer-vision ×1

glade ×1

gtk ×1

gtk3 ×1

matlab ×1

numpy ×1

vlfeat ×1

yaml ×1