小编sub*_*b_o的帖子

使用OpenCV提取HoG功能

我正在尝试使用OpenCV的HoG API提取功能,但我似乎无法找到允许我这样做的API.

我想要做的是从我的所有数据集(一组正面和负面图像)中使用HoG提取特征,然后训练我自己的SVM.

我在OpenCV下偷看了HoG.cpp,但没有用.所有代码都埋没在复杂性中,需要满足不同的硬件需求(例如英特尔的IPP)

我的问题是:

  1. 我是否可以使用OpenCV中的任何API来提取所有要提供给SVM的功能/描述符?如果我可以用它来训练我自己的SVM?
  2. 如果没有,是否有任何现有的库,可以完成同样的事情?

到目前为止,我实际上是将一个现有的库(http://hogprocessing.altervista.org/)从Processing(Java)移植到C++,但它仍然非常慢,检测时间至少为16秒

有没有其他人成功提取HoG功能,你是如何解决它的?你有任何我可以使用的开源代码吗?

提前致谢

opencv feature-extraction computer-vision object-recognition feature-detection

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

如何创建透视投影矩阵,给定焦点和摄像头主体中心

我设法使用OpenCV获取相机的内在和外在参数,因此我有fx,fy,cx和cy.而且我还有屏幕/图像的宽度和高度.

但是如何从这些参数创建OpenGL透视投影矩阵?

glFrustrum展示了如何创建投影矩阵,给定Z near,Z far和图像宽度和高度.但是如何在此矩阵中包含焦点和摄像机中心?

在此输入图像描述

opengl graphics opencv matrix computer-vision

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

如何在滑动窗口对象检测中对True Negative进行分类?

我正在从我的图像检测器算法中收集结果.所以基本上我所做的是,从一组图像(大小为320 x 480),我将通过它运行一个64x128的滑动窗口,并且还在许多预定义的比例下运行.

我明白那个:

  • True Positives =当我检测到的窗口与地面实况(带注释的边界框)重叠(在定义的交叉点大小/质心内)时
  • 误报=当算法给出正面窗口时,这些窗口超出了真实性.
  • 假阴性=当我没有给出正窗口时,而地面实况注释表明存在一个对象.

真正的否定者呢?这些真正的否定因为我的分类器给了我负面结果的所有窗口吗?这听起来很奇怪,因为我一次将一个小窗口(64x128)滑动4个像素,并且我在检测中使用了大约8个不同的比例.如果我这样做,那么每张图片都会有很多真正的底片.

或者我准备一组纯负面图像(根本没有物体/人物),我只是滑动,如果这些图像中有一个或多个正面检测,我会将其视为假阴性,副反之?

这是一个示例图像(绿色作为基本事实)

示例图像,不是真实结果

opencv machine-learning object-detection computer-vision

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

如何在Haxe中声明2D数组?

在其他编程语言中,我可以int array[23][23]用来声明每个维度中包含23个元素的2D数组.我如何在Haxe中实现同样的目标?

目前我需要这样做:

var arr:Array<Array<Int>> = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
Run Code Online (Sandbox Code Playgroud)

但是当阵列增长到更大的尺寸时,我再也无法宣布它了.

haxe

13
推荐指数
3
解决办法
6614
查看次数

是否可以在material-ui-next中更改TextField的字体颜色?

我目前正在使用材料-ui-next

我在尝试更改多行TextField的字体颜色时遇到问题.

<TextField className = "textfield"
           fullWidth
           multiline
           label   = "Debugger"
           rows    = "10"
           margin  = "normal"/>
Run Code Online (Sandbox Code Playgroud)

和css:

.textfield {
    background-color: #000;
    color: green;
}
Run Code Online (Sandbox Code Playgroud)

然而,不知何故,我只得到黑色背景,字体仍然是黑色.有谁知道如何使用material-ui-next正确更改Textfield的字体颜色?

reactjs material-ui

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

如何实现更好的滑动窗口算法?

所以我一直在编写自己的HoG代码及其变体来处理深度图像.但是,我仍然坚持在检测窗口部分测试训练有素的SVM.

我现在所做的就是先从原始图像中创建图像金字塔,然后从左上角到右下角运行一个64x128大小的滑动窗口.

这是一个视频截图:http://youtu.be/3cNFOd7Aigc

现在问题是我得到的误报比我预期的要多.

有没有办法可以消除所有这些误报(除了训练更多的图像)?到目前为止,我可以从SVM获得"得分",这是与边距本身的距离.我如何使用它来利用我的结果?

有没有人对实现良好的滑动窗口算法有任何见解?

opencv machine-learning computer-vision sliding-window

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

剔除点云中的障碍点

我有一个3d点云图像(见下文).

而且我想剔除理论上落后于其他点的所有点(例如,由于它被胸部和腹部周围的点阻挡,因此人的背部周围的点将不可见).

我该如何解决这个问题?

我所需要的仅仅是从正面看不受阻碍的点,以便我可以将它用于其他目的.

编辑:这不是真正的观看目的.我试图仅隔离无阻塞的顶点以便稍后计算表面法线以提取深度图像特征.

在此输入图像描述

c++ opengl 3d point-clouds

5
推荐指数
1
解决办法
842
查看次数

如何将Kinect的深度数据映射到RGB颜色?

我正在使用OpenCV处理给定的数据集,而我没有任何Kinect.我想将给定的深度数据映射到RGB对应物(这样我就可以得到实际的颜色和深度)

由于我使用的是OpenCV和C++,并且没有Kinect,遗憾的是我无法使用官方Kinect API中的MapDepthFrameToColorFrame方法.

从给定的相机的内在函数和失真系数,我可以将深度映射到世界坐标,并根据此处提供的算法返回到RGB

Vec3f depthToW( int x, int y, float depth ){
    Vec3f result;
    result[0] = (float) (x - depthCX) * depth / depthFX;
    result[1] = (float) (y - depthCY) * depth / depthFY;
    result[2] = (float) depth;
    return result;
}

Vec2i wToRGB( const Vec3f & point ) {
    Mat p3d( point );
    p3d = extRotation * p3d + extTranslation;

    float x = p3d.at<float>(0, 0);
    float y = p3d.at<float>(1, 0);
    float z = p3d.at<float>(2, 0);

    Vec2i result; …
Run Code Online (Sandbox Code Playgroud)

opencv computer-vision kinect

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

如何使用Assimp加载Blender文件?

我尝试使用以下代码在C++上使用Assimp库加载Blender文件,但它失败了,因为它根本没有任何网格物体.我使用的blender文件是使用Blender本身保存的默认多维数据集.

Assimp::Importer importer;
const aiScene * scene = importer.ReadFile( path, aiProcessPreset_TargetRealtime_Fast );

if( !scene ) {
    fprintf( stderr, importer.GetErrorString() );
    return false;
}

const aiMesh * mesh = scene->mMeshes[0]; // Fails here since mMeshes is NULL
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么,我是否需要包含特殊标志才能加载blender对象?或者我是否需要以某种方式导出Blender对象?

opengl 3d blender assimp

5
推荐指数
1
解决办法
4644
查看次数

无法从 docker 容器中的烧瓶连接到 mongo

我有一个运行以下内容的python脚本

import mongoengine
client = mongoengine.connect('ppo-image-server-db', host="db", port=27017)
db = client.test_db

test_data = {
    'name' : 'test'
}

db.test_data.insert_one( test_data )
print("DONE")
Run Code Online (Sandbox Code Playgroud)

我有一个如下所示的 docker-compose.yml

version: '2'
networks:
    micronet:

services:
    user-info-service:
        restart       : always
        build         : .
        container_name: test-user-info-service
        working_dir   : /usr/local/app/test
        entrypoint    : ""
        command       : ["manage", "run-user-info-service", "--host=0.0.0.0", "--port=5000"]
        volumes       :
            - ./:/usr/local/app/test/
        ports         :
            - "5000:5000"
        networks      :
            - micronet
        links:
            - db

    db:
        image           : mongo:3.0.2
        container_name  : test-mongodb
        volumes         :
            - ./data/db:/data/db
        ports           :
            - "27017:27017" …
Run Code Online (Sandbox Code Playgroud)

python mongodb docker-compose

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