小编Jav*_*ock的帖子

输出以精确流式传输浮点数

浮点数精度有问题:

int main(void) {
  double b = 106.829599;
  float a = b;
  std::cerr << std::setprecision(6) << "a = " << a << "; b = " << b << std::endl;
  std::cerr << std::setprecision(7) << "a = " << a << "; b = " << b << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

结果是:

a = 106.83; b = 106.83

a = 106.8296; b = 106.8296

所以,我的问题是为什么第一行的数字如此之短(我期待看到106.829)

gcc 4.1.2,我也在LWS做了一个测试

c++ precision numbers stream

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

如何包含 opencv dll 以便 exe 运行

我想知道如何允许我的 OpenCV 项目 exe 文件在其他 Windows 7 计算机上运行而不修改其他电脑。它在我的上运行,因为我安装了所有库。我可以将必要的文件嵌入到exe文件所在的文件夹中吗?

dll opencv exe

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

警告:基类“A”应该在复制构造函数中显式初始化

我有以下类结构:

class A{
   A(){}
   A(const A& src){}
};

class B : virtual A {
   B():A(){}
   B(const B& src):A(src){}
};

class C : virtual A {
   C():A(){}
   C(const C& src):A(src){}
};
class D : virtual B, virtual C {
   D():B(),C(){}
   D(const D& src):B(src),C(src){}
};
Run Code Online (Sandbox Code Playgroud)

这给了我警告:

在复制构造函数“D”中:

警告:基类“A”应该在复制构造函数中显式初始化

我不理解。D 的复制构造函数调用copy-ctorB 的 B 调用copy-ctorA 的。 为什么它要我调用copy-ctorD 中的 A?

如果我这样做,copy-ctorA 的不会被调用两次吗?一次从 B 调用,一次从 D 调用。

对此的任何投入都非常感谢。

c++ inheritance copy-constructor

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

标准化时避免奇怪的单应性值

熟悉单应性的人会知道,为了保持齐次坐标,您必须将其除以任何矩阵分量进行归一化。单应性是一个 3x3 矩阵,它通常被归一化除以 (3,3) 处的元素。

http://www.cg.tu-berlin.de/fileadmin/fg144/Courses/06WS/scanning/Dennis/Extrinsic%20calibration-Dateien/image006.jpg

当该值非常小(例如 0.0000008)并除以假定为零的值 (0.0000007) 时,问题就会出现。结果值几乎是 0.875,当它被假定为零并且结果投影没有意义时。

我想知道解决这个问题的常用方法是什么。我使用 C++ 和浮点算法。

c++ divide-by-zero numerical-methods homography

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

在隐私方面安装Android设备管理应用程序是否"安全"?

在我的个人设备上安装Android设备管理应用程序是否"安全"?我公司可以用该应用程序读取我的私人数据吗?

我公司最近采用了一项政策,在每个员工的智能手机上安装企业应用程序.应用程序应从comapny运营的第三方市场安装,并需要设备管理权限.

即使应用程序不需要"root"权限,并且设备管理API与读取手机内的数据无关,但我仍然不确定我的个人数据对我的公司是否安全.

仅供参考,API包括更改密码,清除数据,禁用相机等.(链接)

android administration privacy device mdm

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

android - MediaRecorder抛出illegalstateexception

我正在尝试开发一个简单的Android音频录音机.一切都很好,它也可以在Android设备上正常运行.好像我可以开始录制,但是当我想要停止它时会抛出IllegalStateException.我找不到错误.这是代码:

public class VoiceRecorder {
MediaRecorder recorder= new MediaRecorder();
static Context cont;

public void startRecord(Context context) throws IllegalStateException, IOException{
    cont = context;

    recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
    recorder.setOutputFile(cont.getFilesDir()+"/recordings.3gp"); 
    recorder.prepare();
    recorder.start();  

 }  
public void stopRecording(Context context) {
    cont = context;
    recorder.stop();
    recorder.release();
    File file = new File (cont.getFilesDir()+"/recordings.3gp");
    UploadFile.uploadFile("recordings.3gp", file);
    recorder = null;
 }
}
Run Code Online (Sandbox Code Playgroud)

我想触发它​​:

VoiceRecorder vr = new VoiceRecorder();

vr.startRecord(续);

vr.stopRecording(续);

当调用启动时Logcat说:(应该没问题)

09-06 22:56:42.830: D/AudioHardwareMSM72XX(123): audpre_index = 0, tx_iir_index = 0
09-06 22:56:42.840: D/HTC Acoustic(123): msm72xx_enable_audpre: 0x0000
09-06 22:56:42.850: I/AudioHardwareMSM72XX(123): Routing …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception mediarecorder

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

Bad Parcelable异常

首先,我必须说我在这个网站上一直在寻找我的问题的答案,我找到了几个关于这个例外的主题,但毕竟线程没有帮助我那么多,这就是我发布的原因这个.

我每次尝试从包裹中恢复信息时都会收到Bad Parcelable异常.这是我的班级代码.

public class Persona implements Parcelable {

private String nombre,email,tel;

public Persona() {
    nombre = "";
    email = "";
    tel = "";
}

public Persona(String nombre, String email, String tel) {
    this.nombre = nombre;
    this.email = email;
    this.tel = tel;
}

public Persona(Parcel p){
    setNombre(p.readString());
    setEmail(p.readString());
    setTel(p.readString());
}

public String getNombre() {
    return nombre;
}

public void setNombre(String nombre) {
    this.nombre = nombre;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = …
Run Code Online (Sandbox Code Playgroud)

java android

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

使用GIT for Windows获取OpenCV2.4.2

我想获取Windows 的OpenCV2.4.2源文件,以便自己生成库.我运行命令

git clone git://code.opencv.org/opencv.git
Run Code Online (Sandbox Code Playgroud)

这实际上得到了我不想要的2.4.9存储库.有一个GIT选项

git reset --hard <commit code>

应该回到所需的提交.问题是我发现有太多的提交,我不知道哪个版本是2.4.2!

  • 如何从GIT下载2.4.2版本?

tags git opencv git-checkout

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

OpenCV2.4从视频中捕获帧的可能错误

可能是OpenCV2.4 highgui中存在一个错误,用于从Windows中的视频捕获帧?

我安装了两个预编译库,我编译的库,我可以完美地编译所有内容,如果我可以运行我的程序

它们是基于图像的.问题仅适用于视频.OpenCV总是崩溃在这个函数中:

 virtual IplImage* retrieveFrame(int)
    {
        unsigned char* data = 0;
        int step=0, width=0, height=0, cn=0;

        if(!ffmpegCapture ||
           !icvRetrieveFrame_FFMPEG_p(ffmpegCapture,&data,&step,&width,&height,&cn)) <-------CRASHES HERE
           return 0;
        cvInitImageHeader(&frame, cvSize(width, height), 8, cn);
        cvSetData(&frame, data, step);
        return &frame;
    }
Run Code Online (Sandbox Code Playgroud)

这是在类cap_ffmpeg.cpp中,由VideoCapture调用.

我尝试了2.4.2和2.4.9版本.我的程序正在使用opencv2工作


更多信息

  • Windows 7的

  • 使用cmake构建项目(很重要,因为可能是cmake没有构建/找到正确的编解码器)

  • VisualStudio 9 2008

  • OpenCV 2.4.2

编辑

看起来它实际上是一个bug,所以,我怎样才能解决这个问题并更改我的代码以便能够读取avi文件?

c++ opencv ffmpeg

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

从旋转矩阵和OpenCV中的平移向量获取旋转轴

我有两个带有一定旋转角度的棋盘.让我们参考第一张图像找到第二张图像的旋转角度.

为此,我找到了这些对象的旋转矩阵(3x3)和平移矩阵(3x1).

如何使用这些矩阵找到对象的旋转角度旋转轴

opengl opencv rotation image-rotation

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