小编Dim*_*ima的帖子

朋友的功能

对于朋友功能下的示例
以下是什么?

"请注意,在duplicate()的声明中以及在main()中的后续使用中,我们都没有考虑复制类CRectangle的成员.它不是!它只是访问其私有成员和受保护成员而不是成员. "

在CRectangle的公共部分声明重复.怎么不是成员函数和set_values?

这是一个很好的例子吗?如果没有更好的?

c++ friend

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

在map(c ++,STL)方面需要帮助

其实我是C++的新手.我尝试了一些东西(实际上是地图容器),但是它没有按照我想象的方式工作......在发布我的代码之前,我会很快解释它.

我创建了3个类:

ClassA ClassDerivedA ClassAnotherDerivedA

最后两个来自"ClassA".

我进一步创建了一张地图:

  map<string,ClassA> test_map;
Run Code Online (Sandbox Code Playgroud)

我将一些对象(来自Type ClassDerivedA和ClassAnotherDerivedA)放入地图中.请记住:映射值来自"ClassA"类型.这只会因多态性而起作用.最后,我创建了一个迭代器,它在我的地图上运行,并将用户输入与地图中的键进行比较.如果它们匹配,它将调用一个名为"printOutput"的特定方法.

还有一个问题:虽然我将"printOutput"声明为"虚拟",但是唯一被调用的方法是我的基类,但为什么呢?这是代码:

#include <iostream>
#include <map>

using namespace std;

class ClassA
{
    public:
        virtual void printOutput() { cout << "ClassA" << endl;      }
};

class ClassDerivedA : public ClassA
{
    public:
        void printOutput() { cout << "ClassDerivedA" << endl;       }
};

class ClassAnotherDerivedA: public ClassA
{
    public:
        void printOutput() { cout << "ClassAnotherDerivedA" << endl;        }
};

int main()
{
    ClassDerivedA class_derived_a;
    ClassAnotherDerivedA class_another_a;


  map<string,ClassA> test_map;
    test_map.insert(pair<string,ClassA>("deriveda", class_derived_a));
    test_map.insert(pair<string,ClassA>("anothera", class_another_a)); …
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism stl map

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

如何使用基于flann的匹配器,或者通常在opencv中使用flann?

http://opencv.willowgarage.com/documentation/cpp/features2d_common_interfaces_of_descriptor_matchers.html#flannbasedmatcher

请有人可以给我看示例代码或告诉我如何使用这个类和方法.我只想将查询图像中的SURF与应用Flann的图像集匹配.我在样本中看到了很多图像匹配代码,但仍然没有得到的是量化图像与其他图像相似程度的指标.任何帮助都感激不尽.

opencv computer-vision

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

在C++中使用构建器模式时,是否建议setter返回对构建器对象的引用?

我正在考虑在C++单元测试中使用构建器模式,以简化正在测试的代码的输入数据的创建.

在Java中,常见的习惯用法似乎是让构建器类的setter返回(引用)构建器对象本身,以便可以将多个setter链接在一行中.E. g.构建器类可以像这样定义:

// class builder 
public class Builder
{
  private Part1 part1;
  private Part2 part2;
  public Builder withPart1(Part1 p1);
  public Builder withPart2(Part2 p2);
};
Run Code Online (Sandbox Code Playgroud)

然后像这样使用:

Builder b;
Part1 p1;
Part2 p2;
b.withPart1(p1).withPart2(p2);
Run Code Online (Sandbox Code Playgroud)

通过让setter返回对构建器对象的引用,可以在C++中实现相同的效果.但是,我无法在网上找到任何这方面的例子.这种"链接"是C++中的常见做法吗?如果不是,为什么不呢?

c++ builder-pattern

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

C++:如何在同一个.cpp上声明两个类在编译时"看到"?

在VS2008上编译此代码时:

  #include <vector>

using namespace std;

class Vertex {

public: double X; 
        double Y;
        double Z;

        int id; // place of vertex in original mesh vertex list

        vector<Vertex*> neighbor; //adjacent vertices

        vector<Triangle*> face; // adjacent triangles

        float cost; // saved cost of collapsing edge

        Vertex *collapse; // 
};



 class Triangle {

public:
    Vertex * vertex[3]; 


};
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

1>.\Triangle.cpp(15) : error C2065: 'Triangle' : undeclared identifier 
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

c++ forward-declaration

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

以最快的方式删除Point Cloud中的Inf和NaN值

我是MATLAB的新手,刚刚开始研究Stereo Vision.在场景的3D立体重建之后,从我获得的点云,我想忽略所有具有值NaN或Inf的坐标.

为此,我遵循以下程序:

对于尺寸为40×40的图像,点云是40×40×3的矩阵(3由于3D; X,Y和Z坐标).

从3D点云(40 X 40 X 3)开始,我得到一个尺寸为1600 X 3的矩阵.3列中的每一列都对应于X,Y和Z坐标

在这一步,我试图删除整行,如果我找到任何Inf或NaN元素.

例如,在连接步骤之后,如果我有矩阵A.

A = [1,11,21; NaN,12,22; 3,13,Inf; NaN,14,N​​aN; 5,Inf,NaN; 6,16,26];

我想消除所有具有Inf或NaN元素的行.

所以预期的结果是:[1,11,21; 6,16,26];

由于我将使用尺寸为4000 X 3000的图像,我想要一种非常快速有效的方法.

我这样做是为了在我获得的点云中拟合一个平面(最合适).拟合平面的函数不采用Inf和NaN值.因此,即使找到一个NaN值,也必须消除所有相应的X,Y和Z坐标.

如果有更好的方法来做到这一点,除了我目前正在做的,请通知.

谢谢=)

matlab image-processing stereo-3d point-clouds matlab-cvst

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

VS2008 C++编译器错误?

这个编译:-)

string name;
name = 1;
Run Code Online (Sandbox Code Playgroud)

这不是:

string name = 1;
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

我知道这是错的...这不是重点.第一个给人一个笑脸.

c++ constructor initialization variable-assignment

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

例如,在c ++中,setprecision(12)和setprecision(012)之间的区别是什么原因?

例如,在c ++编写setprecision(12)时,12是10的基数,但是当你像setprecision(012)那样写它时,它是一个八进制数,为什么?

c++ octal

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

如何检测图像中对象的实例?

我有一个包含几个特定对象的图像.我想在这张图片中检测这些物体的位置.为此,我有一些包含我想要检测的对象的模型图像.这些图像在我想要检测的对象实例周围被很好地裁剪.

这是一个例子:

在这张大图中,

在此输入图像描述

我想检测此模型图像中表示的对象:

在此输入图像描述

matlab image-processing computer-vision matlab-cvst

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

在MATLAB中代码生成期间替代外部函数,如imread和其他函数

如您所知,在代码生成过程中不输出外部函数.这些功能和/或解决方案是否有替代方案可以解决这个问题?我的代码生成错误报告如下所示:

代码生成错误报告

我很惊讶,我不能输出sizergb2gray两种.由于这些对我的计划至关重要,我无法避免.

将非常感谢帮助!

matlab code-generation image-processing matlab-coder matlab-cvst

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