什么是灰度差?灰度差的MATLAB算法程序怎么写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是灰度差?灰度差的MATLAB算法程序怎么写?相关的知识,希望对你有一定的参考价值。
我可能没说明白,我说的灰度差是相对于用轮廓仪测量出来的高度差(Rz)而言的,我想这两者之间存在着一定的关系,当然是线性的或者非线性的关系,现在关键是怎么求这幅图像的灰度差或者说是某一横截面的灰度差。
灰度差就是两个像素点值之差~~~就是说你是想求梯度咯~~~如果是求一个值的话 就直接用想要的那个两点的差咯~~把你的图imshow出来后 在看个窗口可以看到灰度值~~如果是想要抠图的话 用edge这个指令看看咯~~~不然直接打开edge这个指令的函数看看咯~~~~再不然你就自己设定一个阈值抠图看看咯~~~~ 参考技术A 灰度是代表亮度的,如256级灰度是从0~255,0代表全黑,255代表全白 参考技术B 你可以首先看看关于图像的灰度组成,然后就比较清楚了,可以找本关于图像处理的书看看就明白了。怎么用matlab显示一张图片和它的灰度直方图?
close all
I = imread('C:\\Documents and Settings\\dmt\\桌面\\实习\\图像\\灰度图像\\lenna.bmp')
imshow(I);
imhist(I);
MATLAB
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
参考技术A可按如下操作:
在 matlab下边输入
help imhist edit histeq %%%
灰度图象的直方图数据
%%%clcclearfn='rice.tif';
I=imread (fn);
J=I;%
计算灰度图象的直方图数据
L=256;
%灰度级 Ps = zeros(L,1);
%统计直方图结果数据 nk=zeros(L,1);
[row,col]=size(I);
n=row*col;
%总像素个数 for i = 1:row for j = 1:col num = double(I(i,j))+1;
%获取像素点灰度级 nk(num) = nk(num)+1;
%统计nkendend%计算直方图概率估计for i=1:LPs(i)=nk(i)/n;
endfigure;subplot(3,1,1);
imshow(J),title('原图');
subplot(3,1,2),plot(nk),title('直方图(nk)');
subplot(3,1,3),plot(Ps),title('直方图(Ps)');
%figure(4),imhist(hist);
%p=imhist(hist);
%生成直方图函数,返回灰度图象直方图数据即可。
拓展
matlab
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
以上是关于什么是灰度差?灰度差的MATLAB算法程序怎么写?的主要内容,如果未能解决你的问题,请参考以下文章