medfilt1(x2,31)函数用C语言怎么实现啊,x2是AD采样的值??

medfilt1(x2,31)函数用C语言怎么实现啊,x2是AD采样的值??,第1张

#includevoidmain(){doublei,jdoublea,b,c=0printf("请输入积分上下限:")scanf("%lf%lf"正握渣,&a,&b)for(i=ai<=bi+=10e-8){j=i*i+1j*=10e-8c+=j}printf("ans=%.4f\n",c)}对了没考虑自变举悄量取负值的情况,这个程序只适合算上下限都皮告大于零的情况。

% 没有‘行车记录.MP4’文件,用matlab自带的xylophone.mpg做替换

fileName = 'xylophone.mpg'

obj = VideoReader(fileName)% 调用VideoReader函数读取视频文件

numFrames = obj.NumberOfFrames % 帧数

for i=2:numFrames

frame=read(obj,i) % 取当前帧

Pframe=read(obj,i-1)% 取前一帧

if ndims(frame)==3% 若为RGB,转为灰度图

x=rgb2gray(frame)

else

x=frame

end

if ndims(Pframe)==3 % 同上

y=rgb2gray(Pframe)

else

y=Pframe

end

subplot(1,2,1)

imshow(Pframe,[]) % 显示前一帧图像

title(sprintf('第%d帧',i-1)) % 显示前一帧图像的帧数

% 帧间差分算袭罩法

x=medfilt2(x) % 对当前帧进行中值滤波

y=medfilt2(y) % 对前一帧进行中值滤波

n=im2double(x)

p=im2double(y)

c=n-p % 取相邻帧间差

c=medfilt2(c) % 对帧间差图像进行中值滤波

t=10/256% 设置阈值

c(abs(c)>=t)=255% 超过阈值置1,低于阈值置0

c(abs(c)<t)=0

c=logical(c)

x1=Pframe(:,:,1) % 将运拍弯闹动部分标记为绿色[0,255,0]

x1(c)=0

x2=Pframe(:,:,2)

x2(c)=255

x3=Pframe(:,:,3)

x3(c)=0

xc=cat(3,x1,x2,x3)% 生成新的图像

subplot(1,2,2)

imshow(xc,[]) % 显示新的图像,突出闹激运动目标区域

title(sprintf('第%d帧',i-1))

end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12556341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存