- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Matlab 中是否有一种优雅的方法来将 normxcorr2
的输出裁剪为图像的大小或仅裁剪为不使用的矩阵部分计算中的零填充边?
要理解我的意思,请考虑 conv2
命令。有一个名为 shape
的可选参数,可以将其设置为 same
或 valid
。
C = conv2(A,B,'same');
C = conv2(A,B,'valid');
例如:
size( conv2( rand(50,50) , rand(6,6), 'valid') )
答案=
45 45
size( conv2( rand(50,50) , rand(6,6), 'same') )
答案=
50 50
size( conv2( rand(50,50) , rand(6,6)) )
答案=
55 55
目前我写了我自己的函数,做这样的事情:
function I = normxcorr2e(template,im,shape)
switch shape
case 'same'
I = normxcorr2(template,im);
r = size(I,1)-size(im,1);
c = size(I,2)-size(im,2);
m1=floor(r/2);
n1=floor(c/2);
m2=ceil(r/2);
n2=ceil(c/2);
I(1:m2,:) = [];
I(end-m1+1:end,:) = [];
I(:,1:n2) = [];
I(:,end-n1+1:end) = [];
case 'full'
%Do nothing
case 'valid'
%TODO - write this case...
otherwise
throw(Mexception('normxcorr2e:BadInput','shape %s is not recognized',shape));
end
end
你有更好的主意吗?成功答案的主要标准将是所提议解决方案的优雅。
编辑(1) 首先,感谢您的所有回答。他们都很好,我点赞了。我还没有决定哪个是最好的。顺便说一句,我最近在考虑模板比图像大的情况。在这种情况下,通过在运行 normxcorr2
之前裁剪 image
参数来加速计算是有意义的。
最佳答案
这是一个相对于其他答案具有一些额外功能的变体:
'full'
)。normxcorr2
当 shape
是有效字符串时。代码如下:
function I = normxcorr2e(template, im, shape)
if (nargin == 2) || strcmp(shape,'full')
I = normxcorr2(template, im);
return
end
switch shape
case 'same'
pad = floor(size(template)./2);
center = size(im);
case 'valid'
pad = size(template) - 1;
center = size(im) - pad;
otherwise
throw(Mexception('normxcorr2e:BadInput',...
'SHAPE must be ''full'', ''same'', or ''valid''.'));
end
I = normxcorr2(template, im);
I = I([false(1,pad(1)) true(1,center(1))], ...
[false(1,pad(2)) true(1,center(2))]);
end
关于matlab - 以类似于 `normxcorr2` 的方式获取 'conv2' 的输出的优雅方式 - (删除不需要的边缘),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9145107/
我正在处理 ILGenerator使用 Expression 帮助发射 IL 片段的扩展.一切都很好,直到我处理整数转换部分。有些东西对我来说确实违反直觉,例如: 使用 conv.i8转换 Int32
我希望使用 Google 操作在 Firebase 函数的对话中创建一个 super 简单的计数器。 documentation推荐: app.intent('Default Welcome Inte
我有一些代码可以将数字从十六进制转换为十进制,并检查是否大于或等于。今天,我发现这并不总是有效,我也不知道为什么。 我试过使用原始值,效果很好。比较工作之外的转换。 select case when
我目前正在尝试理解卷积神经网络中的权重共享到底是什么。 据我所知,CNN 最初是作为一种减少连接输入和输出所需的连接数量的方法引入的,因为输入具有 3 个维度。 按照这个逻辑,卷积减少其中一个维度,并
本文Let there be Color!实现CNN,属性如下: 图片大小:224x224 内核大小:3X3 步幅:2X2 填充:1x1 在论文中,他们提到输出层大小为 112X112 但使用公式 N
我正在使用卷积网络进行图像分类。 理论上有一些东西我不明白 对于训练,我将数据分为 60% 训练/20% 验证/20% 测试 当验证集上的指标最好时,我会节省重量(我在训练和验证集上具有相同的性能)。
我正在尝试实现 cyclegan。然而,即使在 10 或 25 个 epoch 之后,我生成的图像上似乎总是出现白点。我想知道可能出了什么问题?我应该继续训练,问题就会消失吗?或者有任何关于如何解决这
我是 keras 的新手。 我在一个数据集上运行它,我的目标是减少 logloss。 对于每个时代,它都给我相同的损失值。我很困惑我是否在正确的轨道上。 例如: Epoch 1/5 91456/914
我用较小的数据集训练了以下 CNN 模型,因此它确实过拟合: model = Sequential() model.add(Conv2D(32, kernel_size=(3,3), input_sh
问题How to initialize weights in PyTorch?显示如何初始化 Pytorch 中的权重.但是,Conv 的默认权重初始值设定项是什么?和 Dense在 Pytorch
我找不到任何关于 YOLOv3 SPP 更好的解释 mAP比 YOLOv3。作者本人在他的 repo 中将 YOLOv3 SPP 声明为: YOLOv3 with spatial pyramid po
我发现在(彩色)imagenet 数据库(如 .npy)上预训练的 VGG16 网络。是否有在可用的 imagenet 数据库灰度版本上预训练的 VGG16 网络? (在灰色 1 channel 输入
CNN 的输入大小应该遵循训练数据的输入大小吗?例如,如果我的训练数据大小为 192 x 98,那么我的 CNN 的输入大小应该是多少? 192×192? 98×98?如果我使用 32x32 输入 C
我正在学习如何使用 Keras 和 CIFAR-10 数据集实现数据增强。我正在在线教程和这本书的帮助下学习Deep learning with Keras. 代码具体详情为here . 这是我的问题
我在深度网络中使用 1x1 卷积来减少特征 x:Bx2CxHxW 到 BxCxHxW。我有三个选择: x -> Conv (1x1) -> Batchnorm-->ReLU。代码将为output =
我不确定这在 Tensorflow 中是否可行,我担心我可能不得不切换到 PyTorch。 基本上,我有这一层: self.policy_conv1 = tf.layers.conv2d(inputs
我正在使用 actions-sdk 和 nodejs 构建一个“游戏”。对于此游戏,一项功能要求音频在接受用户输入之前完成。是否可以使用 conv.ask() 忽略文本意图的输入,直到音频完成?另外,
(yolo - 物体检测) 如果图像中有两只狗,而我在训练集中存在的所有图像中只对其中一只进行了训练, 训练集中我没有标记和训练的其他狗是否会影响过程并导致将它们视为背景的一部分? 我特别询问 yol
我正在尝试 convert CNN Keras model对于使用 FER2013 数据集到 PyTorch 模型的情绪识别,我有以下错误: Traceback (most recent call l
函数名conv中的“localeconv()”是什么意思在标题 ? 最佳答案 The HP-UX manual pages ,将 localeconv() 的用途总结为: localeconv()
我是一名优秀的程序员,十分优秀!