matlab一行写不下程序,请帮我解释一下这个程序的每一行,并且为什么式子后面要加(.)呢?

查看: 160|回复: 4|关注: 0
这个程序我用MATLAB运行有一些错误 希望大家帮我调试一下...
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
Undefined function 'skin' for input arguments of type 'uint8'.
Error in facedetection (line 20)
& && && && &if(skin(Y,Cb,Cr) == 1)
function facedetection()&&
% 读取RGB图像&&
I = imread('F:\我的文档\数字图像处理\图片\jxx.bmp');&&
% % 转换为灰度图像&&
gray = rgb2gray(I);&&
% % 将图像转化为YCbCr颜色空间&&
YCbCr = rgb2ycbcr(I);&&
% % 获得图像宽度和高度&&
heigth = size(gray,1);&&
width = size(gray,2);&&
% % 根据肤色模型将图像二值化&&
for i = 1:heigth&&
& & for j = 1:width&&
& && &&&Y = YCbCr(i,j,1);&&
& && &&&Cb = YCbCr(i,j,2);&&
& && &&&Cr = YCbCr(i,j,3);&&
& && &&&if(Y & 80)&&
& && && && &gray(i,j) = 0;&&
& && &&&else&&
& && && && &if(skin(Y,Cb,Cr) == 1)&&
& && && && && & gray(i,j) = 255;&&
& && && && &else&&
& && && && && & gray(i,j) = 0;&&
& && && && &end&&
& && &&&end&&
% 二值图像形态学处理&&
SE=strel('arbitrary',eye(5));& &
%gray = bwmorph(gray,'erode');&&
% imopen先腐蚀再膨胀&&
gray = imopen(gray,SE);&&
% imclose先膨胀再腐蚀&&
gray = imclose(gray,SE);&&
imshow(gray);&&
% 取出图片中所有包含白色区域的最小矩形&&
[L,num] = bwlabel(gray,8);&&
STATS = regionprops(L,'BoundingBox');&&
% 存放经过筛选以后得到的所有矩形块&&
result = zeros(n,4);&&
figure,imshow(I);&&
for i = 1:num&&
& & box = STATS(i).BoundingB&&
& & x = box(1);& & %矩形坐标x&&
& & y = box(2);& & %矩形坐标y&&
& & w = box(3);& & %矩形宽度w&&
& & h = box(4);& & %矩形高度h&&
& & % 宽度和高度的比例&&
& & ratio = h/w;&&
& & ux = uint8(x);&&
& & uy = uint8(y);&&
& & if ux & 1&&
& && &&&ux = ux - 1;&&
& & if uy & 1&&
& && &&&uy = uy - 1;&&
& & % 可能是人脸区域的矩形应满足以下条件:&&
& & %& &1、高度和宽度必须都大于20,且矩形面积大于400&&
& & %& &2、高度和宽度比率应该在范围(0.6,2)内&&
& & %& &3、函数findeye返回值为1&&
& & if w & 20 || h & 20 || w*h & 400&&
& && &&&continue&&
& & elseif ratio & 2 && ratio & 0.6 && findeye(gray,ux,uy,w,h) == 1&&
& && &&&% 记录可能为人脸的矩形区域&&
& && &&&result(n,:) = [ux uy w h];&&
& && &&&n = n+1;&&
% 对可能是人脸的区域进行标记&&
if&&size(result,1) == 1 && result(1,1) & 0&&
& & rectangle('Position',[result(1,1),result(1,2),result(1,3),result(1,4)],'EdgeColor','r');&&
& & % 如果满足条件的矩形区域大于1则再根据其他信息进行筛选&&
& & for m = 1:size(result,1)&&
& && &&&m1 = result(m,1);&&
& && &&&m2 = result(m,2);&&
& && &&&m3 = result(m,3);&&
& && &&&m4 = result(m,4);&&
& && &&&% 标记最终的人脸区域&&
& && &&&if m1 + m3 & width && m2 + m4 & heigth&&
& && && && &rectangle('Position',[m1,m2,m3,m4],'EdgeColor','r');&&
& && &&&end&&
<h1 style="color:#63 麦片财富积分
关注者: 203
没有这个函数是没有办法的啊
<h1 style="color:# 麦片财富积分
没有这个函数是没有办法的啊
额。。,这个错误的意思不是未定义函数'skin'类型的输入参数'uint8'吗?你知道 该怎么改吗:'(?
<h1 style="color:#63 麦片财富积分
关注者: 203
没有这函数你说咋办,凭空造一个?
你也不知道这玩意干啥的吧
建议你别乱找代码了,根据你的意图自己写
<h1 style="color:# 麦片财富积分
要添加一个skin.m函数
站长推荐 /2
Powered bymatlab问题,请帮忙看看这个程序是什么意思-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
matlab问题,请帮忙看看这个程序是什么意思
来源:互联网 发表时间: 15:57:35 责任编辑:李志喜字体:
为了帮助网友解决“matlab问题,请帮忙看看这个程序是什么意思”相关的问题,中国学网通过互联网对“matlab问题,请帮忙看看这个程序是什么意思”相关的解决方案进行了整理,用户详细问题包括:Ts=1&#47;500;f1=15;f2=40;f3=50;misfactor = 1.0;
flter_length = 16;num = [100]; den = [1 2*pi*100] ; [a,b,c,d] = tf2ss(num,den);sysd = c2d(ss(a,b,c,d),Ts,&#39;zoh&#39;);[numd,dend] = ss2tf(sysd.a,sysd.b,sysd.c,sysd.d);sim(&#39;LMS1&#39;);figure(1);plot(time.signals.values,sigout.signals.values(:,1)),xlabel(&#39;时间(sec)&#39;);ylabel(&#39;原始振动幅值&#39;);grid onfigure(2);plot(time.signals.values,sigout.signals.values(:,2)),xlabel(&#39;时间(sec)&#39;);ylabel(&#39;第一个频率抑制后振动幅值&#39;);grid onfigure(3);plot(time.signals.values,sigout.signals.values(:,3)),xlabel(&#39;时间(sec)&#39;);ylabel(&#39;第二个频率抑制后振动幅值&#39;);grid onfigure(4);plot(time.signals.values,sigout.signals.values(:,4)),xlabel(&#39;时间(sec)&#39;);ylabel(&#39;第三个频率抑制后振动幅值&#39;);grid on其中f1,f2,f3是频率HZ,这是一个关于梁结构减振技术的m文件,具体解决方案如下:解决方案1:
把它往MATLAB里粘贴,按回车键试试~
相关文章:
最新添加资讯
24小时热门资讯
Copyright &#169; 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号请解释matlab中程序每一行的意思,谢谢-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
请解释matlab中程序每一行的意思,谢谢
来源:互联网 发表时间: 15:57:37 责任编辑:王亮字体:
为了帮助网友解决“请解释matlab中程序每一行的意思,谢谢”相关的问题,中国学网通过互联网对“请解释matlab中程序每一行的意思,谢谢”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:请解释matlab中程序每一行的意思,谢谢,具体解决方案如下:解决方案1:函数m_sequence.m :
function[mseq]=m_sequence(fbconnection);
n=length(fbconnection);
register=[zeros(1,n-1) 1];
mseq(1)=register(n);
newregister(1)=mod(sum(fbconnection.*register),2);
newregister(j)=register(j-1);
mseq(i)=register(n);
end解决方案2:function[mseq]=m_sequence(fbconnection);%%函数声明,函数名字m_sequence,函数输入变量fbconnection,函数输出mseq
n=length(fbconnection);%%得到fbconnection的长度
N=2^n-1;%%得到循环次数
register=[zeros(1,n-1) 1];%%建立大小为1*n的矩阵,前n-1个元素都为0,第n个元素为1
mseq(1)=register(n); %%让输出的第一个元素为1
for i=2:N%%i从2开始循环,一直去到N
newregister(1)=mod(sum(fbconnection.*register),2); %%让fbconnection和register中对应元素相乘,并求和,然后除以2得余数赋给newregister的第一个元素
newregister(j)=register(j-1);%%把register的前n-1个元素赋给newregister的第2-n个元素,也就是全0
register=%%把newregister的值赋给register
mseq(i)=register(n);%%把register的第n个元素的值赋给mseq的第i个元素
2个回答3个回答1个回答2个回答1个回答1个回答2个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright &#169; 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号用matlab做一元线性回归,求大神帮忙解释一下这个命令.
X和Y就是你要拟合的数据,上面的是MATLAB工具箱中的regress命令,为[b,bint,r,rint,stats]=regress(y,x,alpha).你这里alpha是缺省的此时默认是0.05  输出b为β的估计值,bint为b的置信区间,r为残差向量,rint为r的置信区间,stats为回归模型的检验统计量,有四个值,第一个是回归方程的决定系数R的平方(R是相关系数),第二个是F的统计量值,第三个是F统计量对应的概率值p,第4个是剩余的方差s的平方.
第三行是做什么的?
ones(9,1)是产生一个9行一列的矩阵,整个语句的意思将产生的全一矩阵与x进行拼接
X=[18 77 ]'
79 12197]'
X=[ones(8,1), X]
[b,bint,r,rint,stats]= regress(Y,X)
为什么我算出来stats太小。。是这组数据没有线性关系吗。。大神可否帮我试一下。。
这是我画的散点图,基本上看不到有线性关系
额。。。为什么我觉得挺好的。。大神可不可以让我看下运行结果。。我用1 2 3 4 5 和2 4 6 8 10两组数据stats为什么还是很小。。。
其实你仅仅要拟合出一条直线可以用cftool这个工具
谢谢啦,我后来用eviews了,算出来r有九点多,我觉得可能是哪里出问题了,还是谢谢啦
你是指可靠性程度90%多?
为您推荐:
其他类似问题
扫描下载二维码matlab 程序含义&
沉默wan1383
sys是一个线性定常系统的模型(可包含纯延时环节),常见的形式是传递函数(tf)、零极点模型(zpk)和状态空间模型(ss).step是求系统sys的单位阶跃响应,impulse求系统sys的单位脉冲响应.这两个函数在不返回输出参数调用时,会绘制对应的响应曲线.hold on是在下一次绘图时,保持之前的绘图结果,也就是叠加绘图.legend用于显示图例,怀疑这个命令不完整,应该是:legend(&#39;单位阶跃响应&#39;,&#39;单位脉冲响应&#39;)综上,这段代码的作用就是,在同一绘图窗口中绘制同时绘制系统sys的单位阶跃响应和单位脉冲响应曲线,并且标注图例.
为您推荐:
其他类似问题
扫描下载二维码}

我要回帖

更多关于 matlab怎么计算式子 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信