matlab的gscale函数
来源:互联网 发布:phpcms和帝国cms 编辑:程序博客网 时间:2024/06/05 09:23
function g=gscale(f,varargin)if length(varargin)==0 method='full8';else method=varargin{1};endif strcmp(class(f),'double')&(max(f(:))>1 | min(f(:))<0) f=mat2gray(f);endswitch methodcase 'full8' g=im2uint8(mat2gray(double(f)));case 'full16' g=im2uint16(mat2gray(double(f)));case 'minmax' low = varargin{2};high = varargin{3}; if low>1 | low<0 |high>1 | high<0 error('Parameters low and high must be in the range [0,1]') end if strcmp(class(f),'double') low_in=min(f(:)); high_in=max(f(:)); elseif strcmp(class(f),'uint8') low_in=double(min(f(:)))./255; high_in=double(max(f(:)))./255; elseif strcmp(class(f),'uint16') low_in=double(min(f(:)))./65535; high_in=double(max(f(:)))./65535; end g=imadjust(f,[low_in high_in],[low high]);otherwise error('Unknown method')end
函数gscale的语法为:
g = gscale(f, method, low, high)
其中,f是将标定的图像。method的有效值是‘full8’(默认)和‘full16’,‘full8’把输出标定为全范围[0,255],而'full16'把输出标定为全范围[0,65535].如果使用这两个值之一,参数low和high在这两种变换中被忽略。method的第三个参数有效值是‘minmax’,在这种情况下,必须提供其值在[0,1]范围内的参数low和high。选中‘minmax’时,灰度级被映射到范围[low,high]内。尽管这些值指定在[0,1]范围内,但程序本身会根据输入的类别做出适当的标定,然后将输出转为与输入相同的类。例如,若f是uint8类,且将'minmax'限定在[0,0.5]范围内,则输出图像同样为uint8类,其值在[0,128]范围内。如f是浮点型图像,且其值在[0,1]范围以外,则程序在运行之前会将其转换到[0,1]范围内。
阅读全文
0 0
- matlab的gscale函数
- matlab中gscale函数——M文件
- Matlab 把图像标度在全尺度gscale()
- MatLab的S函数
- matlab 函数的调用
- MATLAB的cat()函数
- matlab的cat函数
- Matlab的imfilter函数
- matlab难懂的函数
- Matlab 的imwrite函数
- matlab 的 colormap 函数
- matlab函数的集锦
- matlab的padarray函数
- Matlab 的reshape函数
- MATLAB的cat()函数
- Matlab 的reshape函数
- MATLAB的cat()函数
- matlab的meshgrid函数
- python进行JB正态性检验
- volatile关键字解析(jdk1.5之后)
- Java线程常用操作方法
- JAVA小程序--裁判评分系统
- HTML5+JavaScript+CSS实现音乐播放器——难点一:动态生成播放列表
- matlab的gscale函数
- webdriver 等待方法
- 优秀博客地址
- 计蒜客ACM ICPC 2017 Warmup Contest 9--C题
- ggplot2柱形图Y轴坐标扩展的简单方法
- 《多核程序设计》学习笔记:矩阵乘法并行化
- Java线程的同步与死锁
- 【JavaDemo】使用Entry遍历含自定义类的Map集合
- Lavaral5.5 路由, 控制器 向view模板传值的几种方法总结,