小编Mav*_*ick的帖子

在MATLAB中找到两个向量之间的交点

我有一个非常简单的MATLAB问题.找到两个向量之间交点的最简单方法是什么.我不熟悉各种MATLAB函数 - 似乎应该有一个这样的.

例如,如果我有一个从(0,0)到(6,6)的向量和另一个从(0,6)到(6,0)的向量,我需要确定它们在(3,3)处相交.

math matlab

13
推荐指数
2
解决办法
4万
查看次数

这是定义良好的代码吗?

阅读主题后,我仍然感到有些困惑.以下C++表达式是否*d++ = ~(*d);定义良好?是的,我知道像这样的复合表达是丑陋的......我没有写它.

当我将它与以下内容进行比较时,我发现生成的程序集略有不同:

*d = ~(*d);
d++;
Run Code Online (Sandbox Code Playgroud)

部件:

*d++ = ~(*d);
0x83384    LDR           R3,[R0 <d>,4]        <<diff
0x83388    ADD           R1 <c>, R1 <c>, 1
0x8338c    MVN           R3, R3
0x83390    STR           R3,[R0 <d>],4
Run Code Online (Sandbox Code Playgroud)

VS

*d = ~(*d);
d++;
0x83384   LDR           R3,[R0 <d>]
0x83388   ADD           R1 <c>, R1 <c>, 1
0x8338c   MVN           R3, R3
0x83390   STR           R3,[R0 <d>],4
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++ operator-precedence

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

检测2D图像中的标记

我希望得到一些2D物体检测的帮助.我将简要介绍实现这一目标的背景.

将会有一个天花板的图像.天花板上会放置标记,因此可以确定摄像机的方向.照片将始终面朝上拍摄.我的目标是在图像中检测其中一个标记并确定其旋转.因此,旋转和缩放(在较小程度上)将是图像检测中使用的两个主要因素.我将用C#或matlab编写软件(还不太确定).

例如,标记可能是这样的箭头:

参考箭头

拍摄天花板的图像将包含标记.该软件需要检测单个标记并确定它已旋转170度.

天花板箭头

我没有图像分析的经验.我知道图像处理是一个相当广泛的主题,并希望得到一些建议,我应该采取哪种方向,哪种技术最适合我的应用.谢谢!

c# matlab image-processing computer-vision

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

确定目录中的文件数

我需要确定目录中的文件/子目录的数量.我不关心哪个文件/目录实际上在该目录中.有没有比使用更有效的方法

_directoryInfo.GetDirectories().Length +
_directoryInfo.GetFiles().Length
Run Code Online (Sandbox Code Playgroud)

谢谢.

.net c#

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

如何将断言与唯一ID相关联?

背景:我正在研究的代码库非常庞大并且大量使用断言.测试中发现的大量问题最终与单个断言(文件和行号)相关联.但是,如果有人修改了源代码,则与断言关联的行号可能会发生变化,并且在重新发生时很难跟踪.

示例:在测试期间,测试者在main.cpp上遇到几个断言:1808.针对此断言将错误记录到我们的缺陷跟踪系统中.第二天有人修改了main.cpp.当测试人员重新执行他们的测试时,仍然会发生相同的断言但现在报告发生在main.cpp:1790.因此,如果不查看源代码,很难确定这是否是先前看到的断言的新断言或重新出现.

问题: 是否可以将每个assert()与一个唯一ID相关联,该ID将在代码更改后保留,而不是依赖于行号?我自己无法想到解决方案.我希望比我更聪明的人会有一些想法.以下是我认为解决方案的行为方式:

#include <iostream>
#include <string>
#include <assert.h>

using namespace std;

//Can ASSERT to redefined to generate a UID?
#define ASSERT assert

void main(void)
{
    std::string name;
    int age;

    std::cin >> name;
    ASSERT(name.length() < 10);     //Generate a UID if assert fails(ie 0001)
    std::cin >> age;
    ASSERT(age < 100);              //Generate a UID if assert fails(ie 0002)
}
Run Code Online (Sandbox Code Playgroud)

一些代码更改后

#include <iostream>
#include <string>
#include <assert.h>

using namespace std;

#define ASSERT assert

void main(void)
{
    std::string name;
    int age;
    int …
Run Code Online (Sandbox Code Playgroud)

c++ testing debugging

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

从.net同时调用两个Matlab函数

我正在编写一个C#应用程序,我想同时调用不同的matlab函数(来自不同的线程).每个Matlab函数都位于自己编译的.net库中.看来我一次只能调用一个Matlab函数.

即,如果从thread1调用matlab_func1()然后从thread2调用matlab_func2(),则matlab_func2()必须等待matlab_func1()完成执行.

有没有办法同时调用不同的matlab函数?谢谢.

 MWArray[] DoKalmanFilter(double vel_x, double vel_y, double vel_z, double cal_x, double cal_y, double cal_z, bool doCal)
  {
     ...set up parameters       

     ret = KalmanFilter.kalman_actual(6, velx, vely, velz, cal_x, cal_y, cal_z, 
     return ret;
  }

  private void DoImageProcessing()
  {
       ..set up parameters
      MWArray[] ret = _imgProcessor.DoImageProcessing(2, rgbMarkerColor, hsvThreshold, angleDiffThreshold);
  }
Run Code Online (Sandbox Code Playgroud)

.net c# concurrency matlab

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

访问静态变量问题的模板方法

假设我有两个包含静态变量XmlTag的类.第二个类继承自第一个类.我有一个模板方法,需要根据它使用的类型获取XmlTag.无需创建该类型的实例,最好的方法是什么?这是一个例子(不会编译),应该有希望说明我在说什么.

class A{
public static readonly string XmlTag = "AClass";
}

class B : A {
public static readonly string XmlTag = "BClass";
}
Run Code Online (Sandbox Code Playgroud)

此方法当前无效.显然无法从类型参数访问静态变量.

string GetName<T>(T AClass) where T : A
{
    return T.XmlTag;
}
Run Code Online (Sandbox Code Playgroud)

.net c#

0
推荐指数
1
解决办法
369
查看次数