www.5129.net > 如何在 MAtlAB里 把直方图转化为曲线

如何在 MAtlAB里 把直方图转化为曲线

能画直方图,意味着已经有了y值,可以直接plot(y).如果用插值的话,曲线会更光滑一点.看下面图2和图3的差别.

I=imread('');i1=rgb2gray(I);[COUNTS,X] = imhist(i1);plot(X,COUNTS)

可以先读入图像,灰度图或彩色图,得到图像的三色值矩阵.0-255.再按你的需求把每行或整个数组画出就可以了吧,这是思路,你没说清,所以不太知道你想做成什么样.

可以直接画点,如果采样比较密就近似认为是曲线;或者通过曲线拟合,得到你认为的阶次曲线;polyfit--由数据点进行曲线拟合,可以指定拟合曲线的阶次;输出就是函数多项式的系数,然后再画图就行了.看下帮助,有例子的.

画完直方图然后输入hold on命令,就可以在同一个图中画出曲线

因为直方图是以图形的方式准确地出反映一幅图片的明、暗、灰度,只要图片没有变化,直方图也不 回答 2 4 已知一组三维数据,怎么用matlab进行曲线拟合,最 回答 2 5 matlab中如何进行曲线拟合

matlab中有两种直方图,不知道你说的是那一种我先列出来你看看你需要那一种1.hist(x)先统计x中各个区间的数据的个数,在算出它们的百分比,最后绘制出各个区间的百分比的直方图,区间可以matlab自动选择,也可以人工设置2.bar(f)这个是最简单的,就是将f中的每一个数据会一个柱状图比如x=[123],y=[895]bar(x,y)绘制出来的就是在坐标x=1的柱高8x=2时高9x=3时5%bydynamic%seealsohttp://www.matlabsky.com%contactmematlabsky@gmail.com%2009.2.%

>> x=[1.7,2.2,14.4,1.1,0.4,20.6,5.3,0.7,1.9,13,12,9.3,1.4,18.7,8.5,25.5,11.6,14.1,22.1,1.1,2.5,14.4,1];>> hist(x);>> hold on>> x=0:0.1:64;>> y=(0.11.*(x-0.074).^(-0.159)).*exp(-(x-0.074).^0.84/7.628);>> plot(x,y);Warning: Imaginary parts of complex X and/or Y arguments ignored.

clear all%一,图像的预处理,读入彩色图像将其灰度化PS=imread('a3.jpg'); %读入JPG彩色图像文件 figure(1);subplot(2,2,1);imshow(PS);title('原图像灰度图');%二,绘制直方图[m,n]=size(PS); %测量图像尺寸参数GP=zeros(1,256); %预

imhist 显示直方图的图像数据语法imhist(I,N) imhist(X,地图) [计数, ] = imhist()

网站地图

All rights reserved Powered by www.5129.net

copyright ©right 2010-2021。
www.5129.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com