PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
MATLAB
[讨论] 选择性复制三维矩阵(不用循环)
楼主:
andgitisaac
(AndGiTiSaaC)
2016-01-04 15:33:01
想请问,现在有个 m*n*3 三维矩阵HSV,要做影像处理
目标是
如果HSV(:,:,1)元素的值大于门槛,那就把该x、y位置
的矩阵值给复制到另一个三维矩阵light(三层都要复制)
目前我的写法是:
(index 是符合门槛值的 元素位置)
light = zeros(m,n,3);
for k = 0:2
light(index + k*m*n) = HSV(index + k*m*n);
end
想问各位大大有没有不要用循环的写法?
作者:
celestialgod
(天)
2016-01-04 15:56:00
http://pastebin.com/sTieXbdU
作者:
sunev
(Veritas)
2016-01-04 18:42:00
循环只有三次的话,其实也不会慢到哪里去真的要求效能,可以用内建profile功能找瓶颈。你的index应该是find过的,搞不好差在这里?light=repmat(HSV(HSV(:,:,1)>0,1),[1 1 3]);不过用matlab做即时会不会太拼了
作者:
celestialgod
(天)
2016-01-05 09:20:00
s大,你这样1~3维都一样喔
作者:
sunev
(Veritas)
2016-01-05 10:07:00
搞错了,其实语法就错了...XDlight=bsxfun(@(x,y)x.*(y>0),HSV,HSV(:,:,1));不确定会不会比楼上的写法快就是了我的意思是,如果已经到了要从这种地方挤效能的程度那matlab可能不太适合
作者:
celestialgod
(天)
2016-01-05 10:29:00
s大写出我想写的东西了XDD,不过那样出来不是3维矩阵,要在用cat,速度会更慢而已没事,我误会了QQ,S大是对的bsxfun用的很漂亮
继续阅读
[问题]帮行矩阵里面的值编号
aerodan
[问题]多执行绪可以从工作管理员调整吗??
ProTrader
[运算] 请问程式可以跑一次,却无法跑第二次?
irene54510
Re: [问题] 从图片中撷取一个椭圆
KevinT
Re: [讨论] structure array 初始化大小
celestialgod
[讨论] 询问ode45 变量回传
qaz3869153
[问题] 从图片中撷取一个椭圆
q1232431
滤除阵列不要的噪声
b19910925
Re: [问题] eval 语法问题
KevinT
Re: [问题] video timestamp 撷取问题
KevinT
Links
booklink
Contact Us: admin [ a t ] ucptt.com