小编Bil*_*ham的帖子

Octave/Matlab:vectorising'=='运算符?

我可以使用'=='运算符和'find()'函数在向量'data'中查找值的位置,即45的位置:

data = [ 71 65 23 45 34 12 21 34 52 ];
value = 45;

find (data == value)
ans =  4
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用循环的情况下为几个值做同样的事情,即我想在一次调用中得到[4 5 7]:

values = [ 45 34 21 ];
find (data == values)
error: mx_el_eq: nonconformant arguments (op1 is 1x9, op2 is 1x3)
error: evaluating argument list element number 1
error: evaluating argument list element number 1
Run Code Online (Sandbox Code Playgroud)

matlab operators vectorization find octave

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

在MATLAB中从ASCII代码转换为字符串

如果我在matlab中有一个字符串,我可以使用以下命令将其转换为ASCII代码矢量double:

>> my_string = 'asd';
>> double(my_string)

ans =

    97   115   100
Run Code Online (Sandbox Code Playgroud)

我该怎么回去?即,如果我在MATLAB矢量中有ASCII码,我该如何创建相应的字符串?

例如

ascii_codes = [97 115 100];
Run Code Online (Sandbox Code Playgroud)

应转换为......

my_string = 'asd'
Run Code Online (Sandbox Code Playgroud)

string matlab ascii

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

如何将整个矢量复制到队列中?

我希望将矢量的全部内容复制到C++队列中.这是一个内置函数还是循环遍历每个元素是必要的?

c++ queue copy vector

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

在Qt Creator中使用"Analyze Memory"工具

我正在使用Qt Creator开发一个C++应用程序,我正在尝试追踪一些内存泄漏.

我遵循了这些说明*,并在我的Ubuntu机器上安装了Valgrind.

我从Analyze Memory部分开始我的应用程序,点击停止按钮后,我被告知Tool Analyze Memory finished, 928 issues found.但是,分析部分中没有显示结果,该结果仍为空白.

难道我做错了什么?我在哪里可以找到内存分析的结果?


*令人困惑的是,指令要求"发布"构建配置,但选择此项会在Qt中发出警告,指出内存分析工具需要调试配置.我试过两种方式.

c++ qt valgrind memory-management qt-creator

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

MATLAB scatter3,plot3速度的差异

这是关于MATLAB如何用非常不同的时间来绘制相同的东西 - 以及为什么.

我在3D空间中生成了10000个点:

X = rand(10000, 1);
Y = rand(10000, 1);
Z = rand(10000, 1);
Run Code Online (Sandbox Code Playgroud)

然后我用四种不同的方法之一来绘制这个,创建一个如下的情节:

替代文字

我关闭了所有数字并清除了每次运行之间的工作空间,以确保公平.

使用scatter3进行批量绘图:

>> tic; scatter3(X, Y, Z); drawnow; toc
Elapsed time is 0.815450 seconds.
Run Code Online (Sandbox Code Playgroud)

使用scatter3进行单独绘图:

>> tic; hold on;
for i = 1:10000
    scatter3(X(i), Y(i), Z(i), 'b');
end
hold off; drawnow; toc
Elapsed time is 51.469547 seconds.
Run Code Online (Sandbox Code Playgroud)

使用plot3批量绘图:

>> tic; plot3(X, Y, Z, 'o'); drawnow; toc
Elapsed time is 0.153480 seconds.
Run Code Online (Sandbox Code Playgroud)

使用plot3进行个人绘图:

>> tic; hold on
for i = 1:10000
    plot3(X(i), Y(i), Z(i), …
Run Code Online (Sandbox Code Playgroud)

matlab plot timing scatter-plot

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

MATLAB中的三维高斯滤波器

是否有可用于MATLAB 的3D等效imfilter?我希望将高斯滤波应用于3D直方图.我打算自己实现它,创建一个(3D)高斯滤波器,然后循环我的直方图中的每个元素,并总结相应的数据条目.

但是,如果已经存在某些东西,或者采用更聪明的方式,我不想以缓慢而低效的方式自己实现它.

matlab image-processing gaussian filter

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

在opencv二进制图像中计算"白色"像素(高效)

我试图计算OpenCV二进制图像中的所有白色像素.我目前的代码如下:

  whitePixels = 0;
  for (int i = 0; i < height; ++i)
    for (int j = 0; j < width; ++j)
      if (binary.at<int>(i, j) != 0)
        ++whitePixels;
Run Code Online (Sandbox Code Playgroud)

但是,在使用gprof进行分析之后,我发现这是一段非常慢的代码,并且在程序中存在很大的瓶颈.

有没有一种方法可以更快地计算出相同的值?

c++ optimization opencv image-processing

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

tensorflow 变量名称中允许使用哪些字符?

为 tensorflow 变量选择名称时,这是可以的:

>> tf.Variable(2, name='a')

<tf.Variable 'finegrained_1/decoder/unreadable/a:0' shape=() dtype=int32_ref>
Run Code Online (Sandbox Code Playgroud)

然而,这不是:

>> tf.Variable(2, name='a:b')

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
~/mm/appy-finegrained/sign_classification/model_finegrained.py in <module>()
----> 1 tf.Variable(2, name='a:b')

~/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/variables.py in __init__(self, initial_value, trainable, collections, validate_shape, caching_device, name, variable_def, dtype, expected_shape, import_scope, constraint)
    211           dtype=dtype,
    212           expected_shape=expected_shape,
--> 213           constraint=constraint)
    214 
    215   def __repr__(self):

~/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/variables.py in _init_from_args(self, initial_value, trainable, collections, validate_shape, caching_device, name, dtype, expected_shape, constraint)
    287     with ops.control_dependencies(None):
    288       with ops.name_scope(name, "Variable", [] if init_from_fn else
--> 289                           [initial_value]) as …
Run Code Online (Sandbox Code Playgroud)

python variables scope graph tensorflow

7
推荐指数
1
解决办法
1611
查看次数

将cv :: Mat转换为Magick :: Image

我试图将OpenCV C++ cv::Mat转换为ImageMagick Magick::Image.我能找到的唯一例子是使用较旧的C OpenCV iplImage(例如,参见这里).

有没有一种简单的方法来实现这一目标?

c++ opencv imagemagick

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

动画 GIF - 避免重复存储两次帧

我有一个与此非常相似的动画 gif,其中动画的循环性质导致某些帧在动画的一个完整循环中重复两次。

在此输入图像描述 (从这里

我目前将每个帧单独存储在 gif 中。是否可以只存储每个重复帧一次,从而有效地将所需的存储空间减半?

movie2gif我正在使用转换器在 MATLAB 中创建 gif ,但对 gif 创建的替代方法或后处理工具会很满意。

编辑

在此示例图像的上下文中最好地解释了帧重复的含义。当左边的球离开这排球时,会出现一个框架。几帧后,当左手球现在返回并再次击中那排球时,会重复该确切的帧。由于帧的顺序,目前需要将该帧存储两次。

为了澄清我正在寻找的内容:我想要一种保存 gif(或后处理 gif)的方法,以便我可以保留完整的动画序列(例如 30 帧),但重复的帧被软链接回第一次显示它们,从而无需将它们存储两次。

matlab animation image image-processing gif

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