在matlab里,如何将两张灰度图的直方图在一张figure上显示?如下图
如果是彩色图像,要对R、G、B3个分量分别画出直方图,如果是灰度图像,直接用imhist(image)就可以画出,imhist只可以画二维的灰度直方图
clear all
%一,图像的预处理,读入彩色图像将其灰度化
PS=imread('a3.jpg'); %读入JPG彩色图像文件
figure(1);subplot(2,2,1);imshow(PS);title('原图像灰度图');
%二,绘制直方图
[m,n]=size(PS); %测量图像尺寸参数
GP=zeros(1,256); %预创建存放灰度出现概率的向量
for k=0:255
GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置
end
figure(1);subplot(2,2,2);bar(0:255,GP,'g') %绘制直方图
title('原图像直方图')
xlabel('灰度值')
ylabel('出现概率')
本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!
plot();
hold on
plot()
使用subplot命令。
函数功能
MATLAB中的函数subplot
使用方法:subplot(m,n,p)或者subplot(m n p)。
subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果第一个数字是2就是表示2行图。p是指你现在要把曲线画到figure中哪个图上,最后一个如果是1表示是从左到右第一个位置。
在matlab的命令窗口中输入doc subplot或者help subplot即可获得该函数的帮助信息。
简单的例子
把绘图窗口分成两行两列四块区域,然后在每个区域分别作图,基本步骤:
subplot(221); % 2、2、1之间没有空格也可以
在第一块绘图
subplot(222)
在第二块绘图
subplot(223)
在第三块绘图
subplot(224)
在第四块绘图
示例1:
在MATLAB的命令窗口依次输入以下命令:(>>不用输入)
>> t=0:0.001:1;
>> y1=sin(10*t);
>> y2=sin(15*t);
>> subplot(211)
>> plot(t,y1)
>> subplot(212)
>> plot(t,y2)
运行结果见右图。也可以将上述命令写成一个程序段:
function subplot_sample1()
close all
figure
grid on
t=0:0.001:1;
y1=sin(10*t);
y2=sin(15*t);
subplot(211)
plot(t,y1)
subplot(212)
plot(t,y2)
matlab中如何从一个矩阵的一行中提取一个列?
6. x1=x(:,1);x2=x(:,2); 连起来效果就是可以得到两个列向量。加了分号的命令可以写在一行而且没有任何输出。你可以只输入x1回车查看x1的值,也可以到工作空间窗口双击查看变量。最终运行结果如下:MathWorks是开发Matlab的公司,MathWorks中国上的Matlab文档具有权威性。遇到不会的问题可以查阅官方...
matlab中,如何加快数据运算速度?
matlab中,如何加快数据运算速度?建议如下:1、能用数组形式计算,尽可能使用数组点运算。2、尽量减少循环运算,能不用循环过程尽量不用。3、使用全局变量和临时变量,尽可能减少内存消耗。。。等等
matlab中怎么表达e
有时候我们在使用matlab计算的时候,想表达e,怎么表达呢,下面来分享一下方法 问题第一步我们打开matlab之后,在命令行窗口中直接输入e,按回车键,可以看到显示未定义变量,如下图所示:e自然数第一步我们如果只表达e自然数,可以通过exp(1)表示,在命令行窗口中输入,按回车键可以看到e的数值接近2....
matlab中sqrt是什么意思,如何使用sqrt函数?
sqrt(A) : 矩阵A对应的元素开平方,sqrtm(A):矩阵A开平方根。操作方法如下:1、首先在电脑上打开matlab,在命令行窗口中输入“9^0.5”,按回车键可以看到9求根的结果,这是一种方式。2、通过sqrt函数表示根号,在命令行窗口中输入“sqrt(9)”,按回车键可以看到得到相同的结果。3、通过sqrtm函数...
在matlab里怎么求向量的长度
size(a) 返回一个行向量,其元素包含 A 的相应维度的长度。例如,如果 a 是一个2×3矩阵,则 size(a) 返回向量 [2,3]。具体说明如下。1、第一步在matlab中命令行窗口中输入“a=[1 2 3;2 4 6]”,按回车键创建一个2行3列的矩阵,如下图所示:2、第二步输入“[m,n]=size(a)”,...
如何在matlab里进行pid整定
1、打开matlab2009,新建一个模型文件。2、点击“开始”->"Simulink"->“Library Browser”,打开simulink库。3、在“Simulink Library Browser”的库列表中找到“Simulink Extras”,点击右侧的“Additional Linear”。4、将Additional Linear的“PID Controller”和“TransferFon”添加到模型编辑区域。5、将...
matlab中怎样设置精度?
matlab中设置精度的方法和操作步骤如下:1、首先,打开计算机,进入软件,将看到以下界面。依次单击上方菜单栏中的“File”-->“Preference”,如下图所示。2、其次,完成上述步骤后,将看到以下界面。 单击红色框中的“Command Window”,如下图所示。3、接着,完成上述步骤后,将看到以下界面。 在“...
如何定义matlab里面绘图的x,y轴的范围
可以用matlab提供的坐标轴设置函数axis进行设置(对当前坐标轴进行设置),具体用法如下:plot(x, y); \/\/ 画图后用axis函数设置坐标轴的范围 axis([xmin xmax ymin ymax]); % 设置坐标轴在指定的区间 xmin、xmax 表示设置横坐标的最小最大值;ymin、ymax 表示设置纵坐标的最小最大值。
matlab怎样将两张图放到一张图上
实现的方法和详细的操作步骤如下:1、首先,双击打开MATLAB软件,如下图所示。2、其次,进入命令行输入窗口界面,如下图所示。3、接着,编写代码,使用“hold on”语句实现本例子中的功能,如下图所示。4、最后,绘制第一个函数后,使用“hold on”以绘制第二个函数即可,如下图所示。这样,就将两...
matlab是如何进行傅里叶变换的?采用什么方法进行积分运算?
第六步,使用函数fourier(B,c,t),对代数式B进行傅里叶变换。得到的结果中dirac(2,t)是对狄拉克函数的二阶导数。7\/8 第七步,使用符号变量x,创建代数式C,其中C=abs(4*x)。8\/8 第八步,使用函数fourier(C,x,t),对代数式C进行傅里叶变换 matlab软件是一款科学计算软件,在工程和科学...
管促嘉比: 使用subplot命令.函数功能 MATLAB中的函数subplot 使用方法:subplot(m,n,p)或者subplot(m n p). subplot是将多个图画到一个平面上的工具.其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m...
额尔古纳市19327519364: 有两幅像素为1900*1的灰度图,相似度较高,怎样导入MATLAB软件来比较两幅图的相似度??
管促嘉比: <p> 这只是批量读入图像从matlab论坛找的,把main.m文件直接放在附件1文件夹里直接运行,调试通过</p>
额尔古纳市19327519364: MATlab处理灰度图片. - ?
管促嘉比: I=imread('URL'); 当然如果弄成灰度的图的话~还要有C=rgb2gray(I);这个函数~~~~
额尔古纳市19327519364: 1、 根据实验程序一2幅灰度图像相加的程序,用MATLAB实现2幅3通道RGB图像的相加. 2、 针对程序十一,实现?
管促嘉比: 直接相加就可以呢,前提是图像大小要一样. I1=imread('1.jpg'); I2=imread('2.jpg'); I3=I1+I2; imshow(I3) 还有一个问题是原题要求'根据实验程序一2幅灰度图像相加的程序',这个最后给出来,不然没法切题. 祝顺利.
额尔古纳市19327519364: matlab中两幅灰度图像相加的问题?
管促嘉比: I=imread('E:\s2.jpg'); J=imread('E:\s1.jpg'); K=imadd(I,J,'uint16'); subplot(1,3,1),imshow(I); subplot(1,3,2),imshow(J); subplot(1,3,3),imshow(K,[]); 未知你两幅图相加需要什么效果,如果简单相加上述可实现,当然你也可再K=imadd(I,J,'uint16');之后再加上K=uint8(K/2);最后的改回subplot(1,3,3),imshow(K); 水平有限,呵呵!
额尔古纳市19327519364: matlab怎么对整幅图像做变换 - ?
管促嘉比: I = rgb2gray(RGB); Matlab函数rgb2gray,函数功能:将真彩色图像转换为灰度图像.在matlab命令窗口中键入doc rgb2gray或help rgb2gray可以获得更多关于该函数的帮助信息. 调用方式:I = rgb2gray(RGB) 将真彩色RGB图像转换成灰度图像.(RGB并不发生变化) newmap = rgb2gray(map) 返回一个灰度调色板. 以下是这个函数的实例:% 1. 显示RGB真彩色图像 imgrgb = imread('flower.jpg'); figure('Name', '显示真彩色图像') imshow(imgrgb)
额尔古纳市19327519364: 在matlab中如何将一幅24位的图片转换成灰度图再转换成二值图. - ?
管促嘉比: 3.16 icePub_imgToSingleBmp l 函数原型:int WINAPI icePub_imgToSingleBmp(char *strImgFilename,char *strBmpFilename,int thresholdValue) 输入:strImgFilename 待处理图像文件名 strBmpFilename bmp图像名 thresholdValue 256级灰度...
额尔古纳市19327519364: matlab,如何将三幅灰度图像合并为一张彩图? - ?
管促嘉比: hsi=cat(3,a,b,c); 还要将hsi转为rgb才可以显示. 转换程序百度下多的是.
额尔古纳市19327519364: 如何计算两幅灰度图像之间的误差 - ?
管促嘉比: 可以啊,这是matlab的一个例程,读取的图片就是灰度图像,运行没问题 ref = imread('pout.tif'); H = fspecial('Gaussian',[11 11],1.5); A = imfilter(ref,H,'replicate'); subplot(1,2,1); imshow(ref); title('Reference Image'); subplot(1,2,2); imshow(A); title('...
额尔古纳市19327519364: 用matlab函数将一幅512*512的灰度图像缩小为256*256 - ?
管促嘉比: a7=imresize(word7,[256 256]);