matlab的gscale函数

2023-11-12

function g=gscale(f,varargin)
if length(varargin)==0
  method='full8';
else method=varargin{1};
end
if strcmp(class(f),'double')&(max(f(:))>1 | min(f(:))<0)
   f=mat2gray(f);
end

switch method
case '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]范围内。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab的gscale函数 的相关文章

  • 保存原始rgb8bit 数据到bmp文件

    就填充方式来说 跟24位位图基本是一样的 不同的是bitcolor 位设置的颜色位数要填充为8 而不是24 百度了很久 目前只能是勉强能保存成图片 能正常打开 但目前还有未能理解的问题 列举如下 如果有知道的朋友 希望能得到您的慷慨解惑 感
  • Halcon实战记录之二《判断两个直线或者矩形是否相交》

    项目中使用到需要判断两个矩形是否相交 由于我使用Halcon不久 对其算子还不熟悉 不知道是否有现成的算子可以直接实现 如果有 还请各位朋友给留言指出 先谢谢了 我这里用了如下的方法 1 如果两个矩形相交 那么它们中的线段一定会有相交的 我
  • 深度学习训练之optimizer优化器(BGD、SGD、MBGD、SGDM、NAG、AdaGrad、AdaDelta、Adam)的最全系统详解

    文章目录 1 BGD 批量梯度下降 2 SGD 随机梯度下降 2 1 SGD导致的Zigzag现象 3 MBGD 小批量梯度下降 3 1 BGD SGD MBGD的比较 4 SGDM 5 NAG 6 AdaGrad Adaptive Gra
  • 深度学习图像处理之VGG网络模型 (超级详细)

    VGG介绍 由牛津大学著名研究所VGG提出 斩获该年ImageNet竞赛中Localization Task 定位任务 第一名和Classification Task 分类任务 第二名 VGG网络的配置 VGG 16是许多模型中的主干网络
  • 深度学习之Python,OpenCV中的卷积

    这篇博客将介绍图像内核和卷积 如果将图像视为一个大矩阵 那么图像内核只是一个位于图像顶部的微小矩阵 从左到右和从上到下滑动内核 计算输入图像和内核之间的元素乘法总和 称这个值为内核输出 内核输出存储在与输入图像相同 x y 坐标的输出图像中
  • Python必备基本技能——命令行参数args详解

    Python必备基本技能 命令行参数args详解 1 效果图 2 源码 2 1 简单命令行参数 2 1 轮廓检测源代码 参考 这篇博客将介绍一项开发人员 工程师和计算机科学家必备的技能 命令行参数 原理及使用 依赖 pip install
  • 期望, 方差, 协方差,标准差

    期望 方差 协方差 标准差 期望 概率论中描述一个随机事件中的随机变量的平均值的大小可以用数学期望这个概念 数学期望的定义是实验中可能的结果的概率乘以其结果的总和 定义 设P x 是一个离散概率分布 自变量的取值范围为 x 1 x 2 x
  • windows8.1 vs2015 dlib库cpu 版本编译以及应用 library is 90, caller expects 80

    近期由于要做一个关于人脸计数的项目 因此对dlib库进行了编译和使用 其中遇到了不少问题 下面请听我一一道来 第一步 从dlib官网下载dlib源码 链接地址 https github com davisking dlib 第二步 采用cm
  • 数字图像处理(入门篇)六 图像数据预处理之坐标变化

    目录 1 平移 2 镜像 3 旋转 4 缩放 图像的坐标变换又称为图像的几何计算 常见的基本变换包括 平移 旋转 镜像和缩放等等 1 平移 1 代码 使用OpenCV仿射变换函数 cv2 warpAffine 实现平移操作 import n
  • mingw qt5.14.2 编译 vtk9.1.0

    1 软件 qt版本 qt opensource windows x86 5 14 2 exe 安装mingw选项 cmake版本 cmake 3 21 2 windows x86 64 msi VTK源码版本 VTK 9 1 0 tar g
  • 通过matlab实现数字图像处理中的抠图换背景功能

    适合背景为蓝色的图片 效果最好 如果背景色为别的颜色 可对代码进行调整修改后使用 其实这里的代码最开始由于报错已经经过我的修改了 可能出现的异常情况 1 待抠图片以及需要替换的背景图片放置在代码文件所在的目录 不然会无法读取 不出结果 2
  • python批量处理

    python opencv图像二值化批量处理 from skimage import data dir io transform color filters import numpy as np import cv2 def convert
  • 图像处理_Ostu算法(大律法、最大类间方差法)

    一 算法简述 Otsu算法是一种用于二值化最佳阈值的选取方法 基本原理是根据阈值T将图像中的像素点分为C1和C2两类 不断的调整阈值T之后若此时两类之间存在最大的类间方差 那么此阈值即是最佳阈值 二 算法理论 1 基础公式 1 2 3
  • SIFT和SURF的替换算法——ORB (Oriented FAST and Rotated BRIEF 快速定向和旋转)

    SIFT和SURF的替代算法 ORB Oriented FAST and Rotated BRIEF 快速定向和旋转 1 效果图 2 源码 参考 1 用于关键点检测和描述的SIFT Scale Invariant Feature Trans
  • PR-RL:Portrait Relighting via Deep Reinforcement Learning

    文章目录 Title PR RL Portrait Relighting via Deep Reinforcement Learning 1 Article 1 1 Abstract and Introduction 1 2 Conclus
  • 图像的FFT变换

    一 实验设备 计算机 matlab软件 二 实验目的 1 理解并掌握图像的FFT变换的原理 2 学习使用matlab对图像进行FFT变换 三 实验原理 图像fft变换可以将图像空间域变为频率域 进而对频率域图像进行操作 这样会使操作变得简单
  • 基于Matlab实现图像融合技术(附上多个仿真源码+数据)

    图像融合技术是一种将多幅图像融合为一幅图像的方法 使得这幅融合图像包含原始图像的所有信息 近年来 图像融合技术已经广泛应用于图像分割 变换和裁剪等领域 本文将介绍如何使用Matlab实现图像融合技术 实现步骤 首先 我们需要了解图像融合的基
  • 无监督低照度图像增强网络ZeroDCE和SCI介绍

    目录 简介 Zero DCE 算法介绍 模型代码 无监督loss介绍 小结 Self Calibrated Illumination SCI 模型介绍 无监督loss介绍 小结 总结 简介 当前有较多深度学习的方法来做图像效果增强 但多数都
  • 【FMC141】基于VITA57.4标准的4通道2.8GSPS 16位DA播放子卡(2片DAC39J84)

    FMC141是一款基于VITA57 4标准的4通道2 8GSPS 2 5GSPS 1 6GSPS采样率16位DA播放FMC子卡 该板卡为FMC 标准 符合VITA57 4与VITA57 1规范 16通道的JESD204B接口通过FMC 连接
  • ETC纹理压缩

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门

随机推荐

  • caffe问题Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: Python

    caffe中输入层使用python时 出现问题 Check failed registry count type 1 0 vs 1 Unknown layer type Python 解决方法 在caffe目录下Makefile confi
  • va_start和va_end使用详解

    本文主要介绍va start和va end的使用及原理 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理 1 在C中 当我们无法列出传递函数的所有实参的类型和数目时 可以用省略号指定参数表 void foo void foo par
  • 手机抓包fiddler配置及使用教程

    本文基于Fiddler4讲解基本使用 fiddler抓包原理 注意 Fiddler 是以代理web服务器的形式工作的 它使用代理地址 127 0 0 1 端口 8888 当Fiddler退出的时候它会自动注销 这样就不会影响别的 程序 不过
  • libsvm库简介及使用

    libsvm是基于支持向量机 support vector machine SVM 实现的开源库 由台湾大学林智仁 Chih Jen Lin 教授等开发 它主要用于分类 支持二分类和多分类 和回归 它的License是BSD 3 Claus
  • Terdata 基础 第三课(参数宏)

    1 宏不是ANSI标准支持的 但大部分RDBMS都支持宏 在Teradata中 在ANSI和BTET缺省模式下都可以创建和执行宏 只不过在ANSI模式下会给出警告信息 1 1 参数宏 宏中可以包含可替代值的变量 CREATE MACRO d
  • linux shell 按行循环读入文件方法

    linux shell 按行循环读入文件常用代码如下 bin bash printf n echo cat file whiel read line cat test txt while read line do echo line don
  • wofstream,wcout无法输出unicode的真相

    之前我转载过一篇ofstream和wofstream与中文输出问题 让我初步知道如何解决这类问题 第一次我没有在意 按照文章中做的方法去做 然后程序就运行正常了 我试图去记住这些规则 但是我后来发现 太难了 以至于我在最近一次使用到 std
  • 程序编程代码大全_CNC加工中心程序代码大全,数控加工必备!

    数控机床的可编程功能分为两类 一类用来实现刀具轨迹控制即各进给轴的运动 如直线 圆弧插补 进给控制 坐标系原点偏置及变换 尺寸单位设定 刀具偏置及补偿等 这一类功能被称为准备功能 以字母G以及两位数字组成 也被称为G代码 另一类功能被称为辅
  • 免费赠票

    Cloud Ace 受邀参加 GTC2022 全球流量大会 助力中国企业扬帆出海 大会将在 2023 年 2 月 28 日 3 月 1 日举行 地点就在福田会展中心 6 号展馆 大会门票实行收费制 您可以扫码填写 Cloud Ace 的报名
  • GLSL语言基础

    定义 GLSL释义叫做OpenGL着色器编程语言 是为图形计算量身定制的 它包含一些针对向量和矩阵操作的有用特性 变量名字 变量名称的命名规范与C语言相同 可以使用字母 数字 以及下划线来组成变量的名字 但数字不能作为变量名称的第一个字符
  • OBS直播软件-简介

    转自 https jingyan baidu com article e2284b2b90c4dee2e6118dd3 html OBS直播软件是一款国外开发的用于网络直播的软件 本篇OBS教程主要介绍OBS下载和初级应用 工具 原料 一台
  • Open3D 最小二乘拟合空间直线(方法一)

    目录 一 算法原理 1 空间直线 2 最小二乘法拟合 二 代码实现 三 结果展示 本文由CSDN点云侠原创 原文链接 如果你不是在点云侠的博客中看到该文章 那么此处便是不要脸的爬虫 一 算法原理 1 空间直线 x
  • MySQL环境搭建利器---Sandbox

    MySQL环境搭建利器 Sandbox https metacpan org pod MySQL Sandbox http mysqlsandbox net https www cnblogs com gomysql p 3767445 h
  • Java中Arrays类的常用方法

    Java中Arrays类的常用方法 Arrays类位于 java util 包中 主要包含了操作数组的各种方法 import java util Arrays Arrays fill 填充数组 int arr new int 5 新建一个大
  • pycharm使用中的小tip

    1 双击shift会弹出全局搜索功能 关闭 双击shift 打开全局搜索 action gt registry 找到ide suppress dounle hangler勾上 重新打开 ctrl shift a 2 快速格式化代码 ctrl
  • pytorch 实现SSD详细理解 (一)vgg和特征图的提取

    摘要 本章就开始进入SSD的学习 通过学习这些基础的目标检测算法更好的对比理解其它算法 多看几种代码的写法更容易找到适合自己书写的套路 ssd网络的6个特征图 ssd采用的是vgg16的特征提取 在vgg16中提取二个特征图 之后又通过额外
  • Linux高性能I/O框架库Libevent介绍

    C C Linux服务器开发 后台架构师知识体系 这篇文章主要讲一下Libevent库的内容 顺便对I O库整体做个介绍 Linux服务器程序必须处理的三类事件 I O事件 信号 定时事件 在处理这三类事件时我们通常需要考虑如下三个问题 统
  • 解决Action和Servlet共存问题

    一 问题的提出 先让我们看下 web xml 中 struts2 和 servlet 的配置
  • 程序员的生活1

    记录最近生活 最近用C Winform DevExpress InstallShield 开发数据管理及分析软件 在懵懵懂懂的路上 越走越远 项目也差不多进行了一年 当然也会在后期 陆续更新项目上相关的东西 虽然界面很丑 但学习的热情不能因
  • matlab的gscale函数

    function g gscale f varargin if length varargin 0 method full8 else method varargin 1 end if strcmp class f double max f