opencv Mat 多维矩阵如何创建
我做的主要是将matlab的代码理解后用c++写出来。matlab中的代码为:function[filters]=FilterLines(radius)tradius=r...
我做的主要是将matlab的代码理解后用c++写出来。matlab中的代码为:
function [ filters ] = FilterLines( radius )
tradius = radius + 1;
length = 2 * radius + 1;
A = zeros( length, length, 8 );//主要是这句应该怎么转换?
for i = 0:7
fIdx = i + 1;
angle = 22.5 * i;
if i == 4
A(1:length,tradius-1:tradius+1,5 )=ones(length,3);//还有这句。。。。
后面的基本就这种形式。现在我打算用Mat矩阵变换A = zeros( length, length, 8 );这句,建立一个length*length*8的矩阵。在网上看的都是用
int sz[]={2,2,2};Mat L(3,sz,CV_8UC,Scalar(0,0,0));建立三维矩阵。
但是我的radius是输入参数,所以length不是一个常量,但数组需要constant value。如果使用vector,也不对。
希望哪位大神帮帮忙看看,非常非常感谢!!!!!!! 展开
function [ filters ] = FilterLines( radius )
tradius = radius + 1;
length = 2 * radius + 1;
A = zeros( length, length, 8 );//主要是这句应该怎么转换?
for i = 0:7
fIdx = i + 1;
angle = 22.5 * i;
if i == 4
A(1:length,tradius-1:tradius+1,5 )=ones(length,3);//还有这句。。。。
后面的基本就这种形式。现在我打算用Mat矩阵变换A = zeros( length, length, 8 );这句,建立一个length*length*8的矩阵。在网上看的都是用
int sz[]={2,2,2};Mat L(3,sz,CV_8UC,Scalar(0,0,0));建立三维矩阵。
但是我的radius是输入参数,所以length不是一个常量,但数组需要constant value。如果使用vector,也不对。
希望哪位大神帮帮忙看看,非常非常感谢!!!!!!! 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏50(财富值+成长值)
2个回答
展开全部
Mat A=Mat::zeros(length,lenght,CV_8UC3);
追问
这是二维三通道的Mat,但我现在想建一个共8层且每层是length*length尺寸的Mat矩阵,应该怎么做?
追答
通道多了没试过,不过可以建立单通道的Mat,使用数组形式啊
Mat A[8];
可以试试。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
东莞大凡
2024-08-07 广告
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进...
点击进入详情页
本回答由东莞大凡提供
展开全部
MatND类
自己搜oepnCV 文档吧。
这个类是多维的
自己搜oepnCV 文档吧。
这个类是多维的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询