imhist在matlab中怎么用?
利用matlab计算图像直方图函数为imhist()
具体用法:
imhist( i );直接显示图像i的灰度直方图;
imhist(i,n)n为指定灰度级显示直方图;
[count, x] = imhist( i ) 获取直方图信息,count为每一级灰度像素个数,x为灰度级,x也可以在imhist(i,x)中指定,可以通过stem(x,count)画相应直方图;
怎样用matlab画频率直方图?
对信号做FFT只能得到频率和能量这二维,而(a)中的立体图是做了STFT也就是将信号分为若干帧之后再对每一帧做FFT,所以得到的图像是三维的。 你的代码[S,F,T,P] = spectrogram(a,win,noverlap,nfft,fs);就是对采样率为fs的信号做STFT: 把信号用长度为win的窗分割成若干帧,帧与帧之间重合的长度为noverlap,每一帧下做FFT返回的频率数量为nfft(也就是设定频域分辨率为fs/nfft)。返回的F,T,P中每一个值代表是每一帧下每个频率下的功率谱密度。 你在作图时使用的surf(T,F,10*log10(P),'edgecolor','none')会绘制三维图像,其中x轴为时间,y轴为频率,z轴是10*log10(P)也就是将单位原本为Watts/Hz的P转换为dB/Hz,在数字音频界用的是满刻度电平即把16bit采样允许的最大值为0dB,你的信号如果没有过载自然z轴都是负值。 如果你想像例子中一样将(a)立体图转换成(b)平面图显示,surf之后加行代码“view(2)"就行了……
matlabthreshold函数怎么用?
graythresh函数用法:使用最大类间方差法找到图片的一个合适的阈值(threshold)。在使用im2bw函数将灰度图像转换为二值图像时,需要设定一个阈值,这个函数可以帮助我们获得一个合适的阈值。利用这个阈值通常比人为设定的阈值能更好地把一张灰度图像转换为二值图像。 调用格式: level = graythresh(I) [level EM] = graythresh(I) 通过计算获得输入图像的阈值,这个阈值在[0, 1]范围内。该阈值可以传递给im2bw完成灰度图像转换为二值图像的操作。 graythresh使用最大类间方差法来获得一个阈值。
matlab如何画类似图示的雷达图(radar图),蜘蛛图(spider图)?
这种图是极坐标直方图,要有数据,可用polarhistogram命令画出。
matlab寻峰函数用法?
方法一:
findpeaks 寻找峰值函数
pks = findpeaks(data)
[pks,locs] = findpeaks(data) ------pks 对应峰值,locs 对应峰值位数
[...] = findpeaks(data,'minpeakheight',mph)----mph 设定峰值的最小高度
[...] = findpeaks(data,'minpeakdistance',mpd)----mpd 设定两峰值间的最小间隔数
[...] = findpeaks(data,'threshold',th)
[...] = findpeaks(data,'npeaks',np)
[...] = findpeaks(data,'sortstr',str)