图像处理中的网格函数_对二元函数参数划分网格,求解相应的二元函数在这些点处的函数值 - CSDN
  • matlab 图像处理在图像上标记网格

    千次阅读 2018-06-05 10:08:51
    假设现在讲一副图片分成10*10的网格,也就是将一副图像分成100等分的小块 图像img 首先需要找步长,也就是每个格子的边长为多少像素 [x,y] = size(img); %找图像大小 grid_x = floor(x/10); %将图像分成10*10的网格 ...

    假设现在讲一副图片分成10*10的网格,也就是将一副图像分成100等分的小块

    图像img

    首先需要找步长,也就是每个格子的边长为多少像素

    [x,y] = size(img);    %找图像大小
    grid_x = floor(x/10);   %将图像分成10*10的网格
    grid_y = floor(y/10);
    X = 1:grid_x:x;
    Y = 1:grid_y:y;

    步长找好了,就可以直接对相应的像素点进行操作,也就是在原图上标记网格


    for i = 2:size(X,2)                           %%%%%%%%%%%%%%%%%%
        for j = 1:y                                 %%%%%%%%%%%%%%%%%%
            img(X(i),j)=~img(X(i),j);         
            %img(X(i),j) = 1;
        end
    end                                              %%%%%     画网格     %%%%%%%
     
    for i = 2:size(Y,2)
        for j = 1:x
            img(j,Y(i))=~img(j,Y(i));
            %img(X(i),j) = 1;             %%%%%%%%%%%%%%%%%%%%
        end
    end                                              %%%%%%%%%%%%%%%%%%%%%

    figure,imshow(img)就可以了

    特别的是,如果是三通道RGB图像,则需要将img改成双精度的

    img=double(img); 即可

    具体代码我放在这里


    展开全文
  • Matlab学习-图像处理工具箱函数

    千次阅读 2014-01-06 11:25:54
    下列表格除了个别函数外,其余函数都是图像处理工具箱提供的关于图像处理函数,现摘录到此以备查找。 表1 图像显示 函数名 功能说明 函数名 功能说明 colorbar 颜色条显示 montage 按矩形剪辑方式显示多帧...

    本文转载自http://www.cnblogs.com/gtts/archive/2011/05/20/2052339.html

    下列表格中除了个别函数外,其余函数都是图像处理工具箱提供的关于图像处理的函数,现摘录到此以备查找。

    表1 图像显示
    函数名 功能说明 函数名 功能说明
    colorbar 颜色条显示 montage 按矩形剪辑方式显示多帧图像
    getimage 从坐标系中获取图像数据 immovie 从多帧索引图像中制作电影
    image 建立显示图像 movie 播放电影
    subimage 在同一图像窗口显示多个图像 trueszie 调整图像显示大小
    imagesc 调整数据并显示图像 warp 显示图像为纹理映射表面
    imshow 图像显示 zoom 二维图形放大或缩小
    表2 图像文件输入/输出
    函数名 功能说明 函数名 功能说明
    imread 图像文件读入 load 将以mat为扩展名的图像文件调入到内存
    imwrite 图像写出 save 将内存变量中图像保存到mat文件中
    dicomread 读取DICOM图像 dicomwrite 输出DICOM图像
    iminfo 查看图形信息    
    表3 图像像素值及其统计
    函数名 功能说明 函数名 功能说明
    impixel 返回选定图像像素颜色值 imcontour 画图像数据轮廓(等高线,等值线)
    improfile 图像中沿一个路径的数据值计算 imhist 求图像数据直方图
    mean2 求均值 corr2 求相关系数
    std2 求标准差    
    表4 图像分析
    函数名 功能说明 函数名 功能说明
    edge 灰度图像边缘检测 qtgetblk 获得四叉树分解块值
    qtecomp 执行四叉树分解 qtsetblk 设置四叉树分解块值
    表5 图像增强及平滑
    函数名 功能说明 函数名 功能说明
    imadjust 对比度调整 medfilt2 二维中值滤波器
    histeq 直方图均衡 ordfilt2 顺序统计滤波器
    imnoise 给图像增加噪声 wiener2 二维自适应除噪滤波器
    表6 图像线性滤波及二维线性滤波器设计
    函数名 功能说明 函数名 功能说明
    conv2 二维卷积 freqz2 计算二维频率响应
    convmtx2 计算二维卷积矩阵 fsamp2 用频率抽样设计二维FIR滤波器
    convn 多维卷积 ftrans 用频率抽样转换二维FIRlbq
    filter2 二维线性数字滤波器 fwind1 用一维窗口方法设计二维FIR滤波器
    fspecial 产生预定义滤波器 fwind2 用二维窗口方法设计二维FIR滤波器
    frespace 确定二维频率响应间隔    
    表7 图像变换
    函数名 功能说明 函数名 功能说明
    fft 计算一维快速Fourier变换 dct 计算离散余弦变换
    ifft 计算一维FFT的逆变换 idct 计算离散反余弦变换
    fft2 计算二维FFT dct2 计算2D离散余弦变换
    ifft2 计算二维逆FFT idct2 计算2D反离散余弦变换
    fftn 计算多维FFT dctmtx 计算TCT矩阵
    ifftn 计算多维逆FFT radon 计算Radon变换
    fftshift 直流分量移到频谱中心    
    表8 图像领域及操作
    函数名 功能说明 函数名 功能说明
    bestblk 选择块处理的块大小 colfilt 使用列方向函数进行领域运算
    blkproc 对图像实行不同的块处理 im2col 重排图像块为矩阵列
    col2im 重排矩阵列成图像块 nlfilter 进行一般领域计算
    表9 二值图像操作
    函数名 功能说明 函数名 功能说明
    applylut 使用查找表进行领域操作 bwperim 确定二值图像中的目标边界
    bwarea 计算二值图像中的目标区域 bwselect 选择二值图像中的目标
    bweuler 计算二值图像中的欧拉数 dilate 对二值图像进行膨胀计算
    bwfill 二值图像背景区域填充 erode 对二值图像进行寝蚀运算
    bwlabel 标识二值图像中的连接成分 makelut 构造查找表(applylut)使用
    bwmorph 二值图像形态运算    
    表10 基于区域的图像处理
    函数名 功能说明 函数名 功能说明
    roicolor 根据颜色选择要处理的区域 roifilt2 对要处理区域滤波
    roifill 在任意区域内平滑差值 roipoly 选择要处理的多边形区域
    表11 图像几何运算
    函数名 功能说明 函数名 功能说明
    imcrop 图像剪裁 imrotate 图像旋转
    imresize 图像大小调整 interp2 二维数据差值
    表12 图像颜色图操作
    函数名 功能说明 函数名 功能说明
    brighten 颜色图像变亮或变暗 colormap 设置获取图
    cmpermute 重新排列颜色图中的颜色 imapprox 由颜色较少的图像近似索引图像
    cmunique 寻找唯一的颜色图及相应的图像 rgbplot 绘制RGB颜色图

    表13 颜色控件转换

    函数名

    功能说明

    函数名

    功能说明

    hsv2rgb

    将HSV颜色转化为RGB颜色值

    mtsc2rgb

    将NTSC值转换为RGB颜色空间值

    rgb2hsv

    将RGB颜色值转换为HSV颜色值

    rgb2ntsc

    将RGB值转换为NTSC颜色空间值

     

    以下函数整理转载自

     
    附录1 常用命令
    附录1.1 管理用命令
    函数名 功能描述 函数名 功能描述
    addpath 增加一条搜索路径 rmpath 删除一条搜索路径
    demo 运行Matlab演示程序 type 列出.M文件
    doc 装入超文本文档 version 显示Matlab的版本号
    help 启动联机帮助 what 列出当前目录下的有关文件
    lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性
    lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录
    path 设置或查询Matlab路径    

    附录1.2管理变量与工作空间用命令
    函数名 功能描述 函数名 功能描述
    clear 删除内存中的变量与函数 pack 整理工作空间内存
    disp 显示矩阵与文本 save 将工作空间中的变量存盘
    length 查询向量的维数 size 查询矩阵的维数
    load 从文件中装入数据 who,whos 列出工作空间中的变量名

    附录1.3文件与操作系统处理命令
    函数名 功能描述 函数名 功能描述
    cd 改变当前工作目录 edit 编辑.M文件
    delete 删除文件 matlabroot 获得Matlab的安装根目录
    diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录
    dir 列出当前目录的内容 tempname 获得一个缓存(temp)文件
    ! 执行操作系统命令    

    附录1.4窗口控制命令
    函数名 功能描述 函数名 功能描述
    echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面
    format 设置输出格式    

    附录1.5启动与退出命令
    函数名 功能描述 函数名 功能描述
    matlabrc 启动主程序 quit 退出Matlab环境
    startup Matlab自启动程序
       

    附录2 运算符号与特殊字符附录
    2.1运算符号与特殊字符
    函数名 功能描述 函数名 功能描述
    + ... 续行标志
    - , 分行符(该行结果不显示)
    * 矩阵乘 ; 分行符(该行结果显示)
    .* 向量乘 % 注释标志
    ^ 矩阵乘方 ! 操作系统命令提示符
    .^ 向量乘方   矩阵转置
    kron 矩阵kron积 . 向量转置
    \ 矩阵左除 = 赋值运算
    / 矩阵右除 == 关系运算之相等
    .\ 向量左除 ~= 关系运算之不等
    ./ 向量右除 < 关系运算之小于
    : 向量生成或子阵提取 <= 关系运算之小于等于
    () 下标运算或参数定义 > 关系运算之大于
    [] 矩阵生成 >= 关系运算之大于等于
    {}   & 逻辑运算之与
    . 结构字段获取符 | 逻辑运算之或
    . 点乘运算,常与其他运算符联合使用(如.\) ~ 逻辑运算之非
    xor 逻辑运算之异成    

    附录2.2逻辑函数
    函数名 功能描述 函数名 功能描述
    all 测试向量中所用元素是否为真 is*(一类函数) 检测向量状态.其中*表示一个确定的函数(isinf)
    any 测试向量中是否有真元素 *isa 检测对象是否为某一个类的对象
    exist 检验变量或文件是否定义 logical 将数字量转化为逻辑量
    find 查找非零元素的下标    

    附录3 语言结构与调试
    附录3.1编程语言
    函数名 功能描述 函数名 功能描述
    builtin 执行Matlab内建的函数 global 定义全局变量
    eval 执行Matlab语句构成的字符串 nargchk 函数输入输出参数个数检验
    feval 执行字符串指定的文件 script Matlab语句及文件信息
    function Matlab函数定义关键词    

    附录3.2控制流程
    函数名 功能描述 函数名 功能描述
    break 中断循环执行的语句 if 条件转移语句
    case 与switch结合实现多路转移 otherwise 多路转移中的缺省执行部分
    else 与if一起使用的转移语句 return 返回调用函数
    elseif 与if一起使用的转移语句 switch 与case结合实现多路转移
    end 结束控制语句块 warning 显示警告信息
    error 显示错误信息 while 循环语句
    for 循环语句    

    附录3.3交互输入
    函数名 功能描述 函数名 功能描述
    input 请求输入 menu 菜单生成
    keyboard 启动键盘管理 pause 暂停执行

    附录3.4面向对象编程
    函数名 功能描述 函数名 功能描述
    class 生成对象 isa 判断对象是否属于某一类
    double 转换成双精度型 superiorto 建立类的层次关系
    inferiorto 建立类的层次关系 unit8 转换成8字节的无符号整数
    inline 建立一个内嵌对象    

    附录3.5调试
    函数名 功能描述 函数名 功能描述
    dbclear 清除调试断点 dbstatus 列出所有断点情况
    dbcont 调试继续执行 dbstep 单步执行
    dbdown 改变局部工作空间内存 dbstop 设置调试断点
    dbmex 启动对Mex文件的调试 sbtype 列出带命令行标号的.M文件
    dbquit 退出调试模式 dbup 改变局部工作空间内容
    dbstack 列出函数调用关系    

    附录4 基本矩阵与矩阵处理
    附录4.1基本矩阵
    函数名 功能描述 函数名 功能描述
    eye 产生单位阵 rand 产生随机分布矩阵
    linspace 构造线性分布的向量 randn 产生正态分布矩阵
    logspace 构造等对数分布的向量 zeros 产生零矩阵
    ones 产生元素全部为1的矩阵 : 产生向量

    附录4.2特殊向量与常量
    函数名 功能描述 函数名 功能描述
    ans 缺省的计算结果变量 non 非数值常量常由0/0或Inf/Inf获得
    computer 运行Matlab的机器类型 nargin 函数中参数输入个数
    eps 精度容许误差(无穷小) nargout 函数中输出变量个数
    flops 浮点运算计数 pi 圆周率
    i 复数单元 realmax 最大浮点数值
    inf 无穷大 realmin 最小浮点数值
    inputname 输入参数名 varargin 函数中输入的可选参数
    j 复数单元 varargout 函数中输出的可选参数

    附录4.3时间与日期
    函数名 功能描述 函数名 功能描述
    calender 日历 eomday 计算月末
    clock 时钟 etime 所用时间函数
    cputime 所用的CPU时间 now 当前日期与时间
    date 日期 tic 启动秒表计时器
    datenum 日期(数字串格式) toc 读取秒表计时器
    datestr 日期(字符串格式) weekday 星期函数
    datevoc 日期(年月日分立格式)    

    附录4.4矩阵处理
    函数名 功能描述 函数名 功能描述
    cat 向量连接 reshape 改变矩阵行列个数
    diag 建立对角矩阵或获取对角向量 rot90 将矩阵旋转90度
    fliplr 按左右方向翻转矩阵元素 tril 取矩阵的下三角部分
    flipud 按上下方向翻转矩阵元素 triu 取矩阵的上三角部分
    repmat 复制并排列矩阵函数    

    附录5 特殊矩阵
    函数名 功能描述 函数名 功能描述
    compan 生成伴随矩阵 invhilb 生成逆hilbert矩阵
    gallery 生成一些小的测试矩阵 magic 生成magic矩阵
    hadamard 生成hadamard矩阵 pascal 生成pascal矩阵
    hankel 生成hankel矩阵 toeplitz 生成toeplitz矩阵
    hilb 生成hilbert矩阵 wilkinson 生成wilkinson特征值测试矩阵

    附录6 数学函数
    附录6.1三角函数
    函数名 功能描述 函数名 功能描述
    sin/asin 正弦/反正弦函数 sec/asec 正割/反正割函数
    sinh/asinh 双曲正弦/反双曲正弦函数 sech/asech 双曲正割/反双曲正割函数
    cos/acos 余弦/反余弦函数 csc/acsc 余割/反余割函数
    cosh/acosh 双曲余弦/反双曲余弦函数 csch/acsch 双曲余割/反双曲余割函数
    tan/atan 正切/反正切函数 cot/acot 余切/反余切函数
    tanh/atanh 双曲正切/反双曲正切函数 coth/acoth 双曲余切/反双曲余切函数
    atan2 四个象限内反正切函数    

    附录6.2指数函数
    函数名 功能描述 函数名 功能描述
    exp 指数函数 log10 常用对数函数
    log 自然对数函数 sqrt 平方根函数

    附录6.3复数函数
    函数名 功能描述 函数名 功能描述
    abs 绝对值函数 imag 求虚部函数
    angle 角相位函数 real 求实部函数
    conj 共轭复数函数    

    附录6.4数值处理
    函数名 功能描述 函数名 功能描述
    fix 沿零方向取整 round 舍入取整
    floor 沿-∞方向取整 rem 求除法的余数
    ceil 沿+∞方向取整 sign 符号函数

    附录6.5其他特殊数学函数
    函数名 功能描述 函数名 功能描述
    airy airy函数 erfcx 比例互补误差函数
    besselh bessel函数(hankel函数) erfinv 逆误差函数
    bessili 改进的第一类bessel函数 expint 指数积分函数
    besselk 改进的第二类bessel函数 gamma gamma函数
    besselj 第一类bessel函数 gammainc 非完全gamma函数
    bessely 第二类bessel函数 gammaln gamma对数函数
    beta beta函数 gcd 最大公约数
    betainc 非完全的beta函数 lcm 最小公倍数
    betaln beta对数函数 log2 分割浮点数
    elipj Jacobi椭圆函数 legendre legendre伴随函数
    ellipke 完全椭圆积分 pow2 基2标量浮点数
    erf 误差函数 rat 有理逼近
    erfc 互补误差函数 rats 有理输出

    附录7 坐标转换
    函数名 功能描述 函数名 功能描述
    cart2pol 笛卡儿坐标到极坐标转换 pol2cart 极坐标到笛卡儿坐标转换
    cart2sph 笛卡儿坐标到球面坐标转换 sph2cart 球面坐标到笛卡儿坐标转换

    附录8 矩阵函数
    附录8.1矩阵分析
    函数名 功能描述 函数名 功能描述
    cond 求矩阵的条件数 rcond LINPACK倒数条件估计
    det 求矩阵的行列式 rref 矩阵的行阶梯型实现
    norm 求矩阵的范数 rrefmovie 消元法解方程演示
    null 右零空间 subspace 子空间
    orth 正交空间 trace 矩阵的迹
    rank 求矩阵的秩    

    附录8.2线性方程
    函数名 功能描述 函数名 功能描述
    /,\ 线性方程求解 nnls 非零最小二乘
    chol Cholesky分解 pinv 求伪逆矩阵
    inv 矩阵求逆 qr 矩阵的QR分解
    lscov 最小二乘方差 qrdelete QR分解中删除一行
    lu 矩阵的LU三角分解 qrinsert QR分解中插入一行

    附录8.3特征值与奇异值
    函数名 功能描述 函数名 功能描述
    banlance 改进特征值精度的均衡变换 qz QZ算法求矩阵特征值
    cdf2rdf 复块对角阵到实块对角阵转换 rdf2cdf 实块对角阵到复块对角阵转换
    eig 求矩阵的特征值和特征向量 schur Schur分解
    hess 求Hessenberg矩阵 svd 奇异值分解
    poly 求矩阵的特征多项式    

    附录8.4矩阵函数
    函数名 功能描述 函数名 功能描述
    expm 矩阵指数函数 logm 矩阵对数函数
    funm 矩阵任意函数 sqrtm 矩阵平方根

    附录9 数据分析与Fourier变换函数
    附录9.1基本运算
    函数名 功能描述 函数名 功能描述
    cumprod 向量累积 prod 对向量中各元素求积
    cumsum 向量累加 sort 对向量中各元素排序
    max 求向量中最大元素 sortrows 对矩阵中各行排序
    min 求向量中最小元素 std 求向量中各元素标准差
    mean 求向量中各元素均值 sum 对向量中各元素求和
    median 求向量中中间元素 trapz 梯形法求数值积分


     

    附录9.2微分计算

    函数名 功能描述 函数名 功能描述
    del2 离散Laplace变换 gradient 梯度计算
    diff 差分于近视微分    

    附录9.3滤波与卷积
    函数名 功能描述 函数名 功能描述
    Conv 卷给与多项式乘法 filter 一维数字滤波
    conv2 二维卷积 filter2 二维数字滤波
    Deconv 因式分解与多项式乘法    

    附录9.4方差处理
    函数名 功能描述 函数名 功能描述
    corrcoef 相关系数计算 cov 协方差计算

    附录9.5Fourier变换
    函数名 功能描述 函数名 功能描述
    abs 绝对值函数 fftshift fft与fft2输出重排
    angle 相角函数 ifft 离散Fourier逆变换
    cplxpair 依共轭复数对重新排序 ifft2 二维离散Fourier逆变换
    fft 离散Fourier变换 unwrap 相角矫正
    fft2 二维离散Fourier变换    

    附录10 多项式处理函数
    附录10.1多项式处理
    函数名 功能描述 函数名 功能描述
    conv 卷机与多项式乘法 polyfit 数据的多项式拟合
    deconv 因式分解与多项式乘法 polyval 多项式求值
    poly 求矩阵的特征多项式 polyvalm 多项式矩阵求值
    polyder 多项式求导 residue 部分分式展开
    polyeig 多项式特征值 roots 求多项式的根

    附录10.2数据插值
    函数名 功能描述 函数名 功能描述
    griddata 数据网络的插值生成 interpft 一维插值(FFT方法)
    interp1 一维插值(查表) interpn 多维插值(查表)
    interp2 二维插值(查表) meshgrid 构造三维图形用x,y阵列
    interp3 三维插值(查表) spline 三次样条插值

    附录11 非线性数值方法
    函数名 功能描述 函数名 功能描述
    dblquad 双重积分 odeget 获得微分方程求解的可选参数
    fmin 单变量最优化函数 odeset 设置微分方程求解的可选参数
    fmins 多变量最优化函数 quad 低阶数值积分方法
    ode45,ode23,ode113,ode15s,ode23s 微分方程数值解法 quad8 高阶数值积分方法
    odefile 对文件定义的微分方程求解    

    附录12 稀疏矩阵函数
    附录12.1基本稀疏矩阵
    函数名 功能描述 函数名 功能描述
    spdiags 稀疏对角矩阵 sprandn 稀疏正态分布随机矩阵
    speye 稀疏单位矩阵 sprandsym 稀疏对称随机矩阵
    sprand 稀疏均匀分布随机矩阵    

    附录12.2稀疏矩阵转换
    函数名 功能描述 函数名 功能描述
    find 查找非零元素下标 sparse 常规矩阵转换为稀疏矩阵
    full 稀疏矩阵转换为常规矩阵 spconvert 由外部格式引入稀疏矩阵

    附录12.3处理非零元素
    函数名 功能描述 函数名 功能描述
    issparse 判断元素是否为稀疏矩阵 nzmax 允许的非零元素空间
    mmz 稀疏矩阵的非零元素个数 spalloc 为非零元素定位存储空间
    nonzeros 稀疏矩阵的非零元素 spfun 为非零元素定义处理函数

    附录12.4稀疏矩阵可视化
    函数名 功能描述 函数名 功能描述
    gplot 绘制图论图形 spy 绘制稀疏矩阵结构

    附录12.5排序算法
    函数名 功能描述 函数名 功能描述
    colmmd 列最小度排序 randperm 产生随机置换向量
    colperm 由非零元素的个数排序各列 symmd 对称最小度排序
    dmperm Dulmage-Mendelsohn分解 symrcm 反向Cuthill-McKee排序

    附录12.6范数、条件数
    函数名 功能描述 函数名 功能描述
    condest 估算||*||1范数 normest 估算||*||2范数
    sprank 计算结构秩    

    附录12.7特征值与奇异值
    函数名 功能描述 函数名 功能描述
    eigs 求稀疏矩阵特征值和特征向量 svds 稀疏矩阵奇异值分解

    附录12.8其他
    函数名 功能描述 函数名 功能描述
    spaugment 最小二乘算法形成 symbact 符号因子分解
    spparms 设置稀疏矩阵参数    

    附录13 图形绘制
    附录13.1基本二维图形
    函数名 功能描述 函数名 功能描述
    fill 填充二维多边形 polar 极坐标图形绘制
    loglog 全对数二维坐标绘制 semilogx x轴半对数坐标图形绘制
    plot 线性坐标图形绘制 semilogy y轴半对数坐标图形绘制

    附录13.2基本三维图形
    函数名 功能描述 函数名 功能描述
    fill3 三维多边形填充 plot3 三维线或点型图绘制
    mesh 三维网格图形绘制 surf 三维表面图形绘制

    附录13.3三维颜色控制
    函数名 功能描述 函数名 功能描述
    brighten 图形亮度调整 hidden 网格图的网格线开关设置
    caxis 坐标轴伪彩色设置 shading 设置渲染模式
    colormap 调色板设置    

    附录13.4三维光照模型
    函数名 功能描述 函数名 功能描述
    diffuse 图象漫射处理 surf1 带光照的三维表面绘制
    lighting 光照模式设置 surfnorm 曲面法线
    specular 设置镜面反射    

    附录13.5标准调色板设置
    函数名 功能描述 函数名 功能描述
    bone 带有蓝色调的灰色的调色板 hot 以黑红黄白为基色的调色板
    cool 以天蓝粉色为基色的调色板 hsv 色度饱和度亮度调色板
    copper 线性铜色调的调色板 pink 粉色色调的调色板
    flag 以红白蓝黑为基色的调色板 prism 光谱颜色表
    gray 线性灰度调色板    

    附录13.6三维视点控制
    函数名 功能描述 函数名 功能描述
    rotate3d 设置三维旋转开关 viewmtx 求视转换矩阵
    view 设置视点    

    附录13.7坐标轴控制
    函数名 功能描述 函数名 功能描述
    axis 坐标轴标度设置 hold 设置当前图形保护模式
    axes 坐标轴位置设置 subplot 将图形窗口分成几个区域
    box 坐标轴盒状显示 zoom 二维图形缩放
    grid 坐标网格线开关设置    

    附录13.8图形注解
    函数名 功能描述 函数名 功能描述
    colorbar 颜色条设置 xlabel 给图形的x轴加文字说明
    gtext 在鼠标位置加文字说明 ylabel 给图形的y轴加文字说明
    text 在图形上加文字说明 zlabel 给图形的z轴加文字说明
    title 给图形加标题    

    附录13.9拷贝与打印
    函数名 功能描述 函数名 功能描述
    print 打印图形或将图形存盘 orient 设置纸的方向
    orintopt 设置打印机为默认值    

    附录14 特殊图形
    附录14.1特殊二维图形
    函数名 功能描述 函数名 功能描述
    area 区域填充
    feather 羽状条形图绘制
    bar 条形图绘制 fplot 给定函数绘制
    barh 水平条形图绘制 hist 直方图绘制
    bar3 3维条形图绘制 pareto pareto图绘制
    bar3h 3维水平条形图绘制 pie 饼状图绘制
    comet 彗星状轨迹绘制 stem 离散序列图形绘制
    errorbar 误差条形图绘制 stairs 梯形图绘制

    附录14.2等高线及其他二维图形
    函数名 功能描述 函数名 功能描述
    contour 等高线绘制 pcolor 伪色绘制
    contourf 等高线填充绘制 quiver 有向图(箭头)绘制
    contour3 三维等高线绘制 voronoil voronoi图绘制
    clabel 等高线高程标志    

    附录14.3特殊三维图形
    函数名 功能描述 函数名 功能描述
    comet3 三维彗星状轨迹绘制 slice 切片图
    meshc 带等高线的三维网格绘制 surfc 带等高线的三维表面绘制
    meshz 带零平面的三维网格绘制 trisurf 表面图形的三角绘制
    stem2 杆图绘制 trimesh 网格图形的三角绘制
    quiver3 三维箭头(有向图)绘制 waterfall 瀑布型图形的绘制

    附录14.4图象显示与文件I/O
    函数名 功能描述 函数名 功能描述
    brighten 图形色调亮化 image 图像显示
    colorbar 颜色条设置 imfinfo 图形文件信息
    colormap 调色板设置 imread 从文件读取图形
    contrast 灰度对比度设置 imwrite 保存图像

    附录14.5动画处理
    函数名 功能描述 函数名 功能描述
    capture 屏幕抓取 movie 播放动画帧
    getframe 获取动画帧    

    附录14.6实体模型
    函数名 功能描述 函数名 功能描述
    cylinder 圆柱体生成 sphere 球体生成

    附录15 图形处理
    附录15.1图形窗口生成与控制
    函数名 功能描述 函数名 功能描述
    clf 清除当前图形窗口 gcf 获取当前图形的窗口句柄
    close 关闭图形窗口 refresh 图形窗口刷新
    figure 生成图形窗口 shg 显示图形窗口

    附录15.2坐标轴建立与控制
    函数名 功能描述 函数名 功能描述
    axes 坐标轴标度设置 gca 获得当前坐标轴句柄
    axis 坐标轴位置设置 hold 设置当前图形保护模式
    box 坐标轴盒状显示 ishold 返回hold的状态
    caxis 为彩色坐标轴刻度 subplot 将图形窗口分为几个区域
    cla 清除当前坐标轴    

    附录15.3处理图形对象
    函数名 功能描述 函数名 功能描述
    axes 坐标轴生成 surface 表面生成
    figure 图形窗口生成 text 文本生成
    image 图像生成 unicontrol 生成一个用户接口控制
    light 光源生成 uimenu 菜单生成
    line 线生成    

    附录15.4图形

    函数名

    功能描述

    函数名

    功能描述

    copyobj

    图像对象拷贝

    gcbo

    获得当前回调对象的句柄

    delete

    对象删除

    gco

    获得当前对象的句柄

    drawnow

    消除未解决的图像对象事件

    get

    获得对象属性

    findobj

    查找对象

    reset

    重新设置对象属性

    gebf

    获得当前回调窗口的句柄

    set

    设置对象属性

     

    附录16 GUI(图形用户接口)
    附录16.1GUI函数

    函数名 功能描述 函数名 功能描述
    ginput 获取鼠标输入 uiresume 继续执行
    selectmoveresize 对象的选择、移动、大小设置、拷贝 uiwait 中断执行
    uicontrol 生成图形用户接口对象 waitgorbutterpress 等待按钮输入
    uimenu 生成菜单对象 waitfor 中断执行

    附录16.2GUI设计工具
    函数名 功能描述 函数名 功能描述
    align 坐标轴与用户接口控制的对齐工具 menuedit 菜单编辑器
    cbedit 回调函数编辑器 propedit 属性编辑器
    guide GUI设计工具    

    附录16.3对话框
    函数名 功能描述 函数名 功能描述
    dialog 对话框生成 printdlg 打印对话框
    axlimdig 坐标轴设限对话框 questdlg 请求对话框
    errordlg 错误对话框 uigetfile 标准的打开文件对话框
    helpdlg 帮助对话框 uiputfile 标准的保存文件对话框
    inputdlg 输入对话框 uisetcolor 颜色选择对话框
    listdlg 列表选择对话框 uisetfont 字体选择对话框
    msgdlg 消息对话框 waitbar 等待条显示
    pagedlg 页位置对话框 warndlg 警告对话框

    附录16.4菜单
    函数名 功能描述 函数名 功能描述
    makemenu 生成菜单结构 umtoggle 菜单对象选中状态切换
    menubar 设置菜单条属性 wimenu 生成window菜单项的子菜单

    附录16.5组按钮
    函数名 功能描述 函数名 功能描述
    btndown 组按钮中的按钮按下 btnstate 查询按钮中的按钮状态
    btngroup 组按钮生成 btnup 组按钮中的按钮弹起
    btnpress 组按钮中的按钮按下管理    

    附录16.6自定义窗口属性
    函数名 功能描述 函数名 功能描述
    clruprop 清除用户自定义属性 setuprop 设置用户自定义属性
    getuprop 获取用户自定义属性    

    附录16.7其他应用
    函数名 功能描述 函数名 功能描述
    allchild 获取所有子对象 popupstr 获取弹出式菜单选中项的字符串
    edtext 坐标轴文本对象编辑 remapfig 改变窗口中对象的位置
    findall 查找所有对象 setptr 设置窗口指针
    getptr 获得窗口指针 setstatus 设置窗口中文本传状态
    getstatus 获取窗口中文本状态    

    附录17 声音处理
    函数名 功能描述 函数名 功能描述
    soond 将向量转换成声音 wavread 读。wav文件
    auread 读。au文件 wavwrite 写。wav文件
    auwrite 写。au文件    

    附录18 字符串处理函数
    附录18.1字符串处理
    函数名 功能描述 函数名 功能描述
    strings Matlab字符串函数说明 upper 字符串大写
    isstr 字符串判断 lower 字符串小写
    deblank 删除结尾空格 isletter 字母判断
    str2mat 字符串转换成文本 isspace 空子符判断
    strcmp 字符串比较 strrep 字串查找
    findstr 字串查找 strtok 标记查找

    附录18.2字符串与数值转换
    函数名 功能描述 函数名 功能描述
    num2str 变数值为字符串 sprintf 数值的格式输出
    str2num 变字符串为数值 sscanf 数值的格式输入
    int2str 变整数为字符串    

    附录18.3进制转换
    函数名 功能描述 函数名 功能描述
    hex2num 十六进制到IEEE标准下浮点数的轮换 hex2dec 十六进制到十进制的轮换
    dec2hex 十进制到十六进制的轮换    

    附录19 文件输入输出函数
    附录19.1基本文件输入输出
    函数名 功能描述 函数名 功能描述
    fclose 关闭文件 feof 文件结尾检测
    fopen 打开文件 ferror 文件I/O错误查询
    fread 读二进制流文件 frewind 文件指针回绕
    fwrite 写二进制流文件 fseek 设置文件指针位置
    fgetl 读文本文件(无行结束符) ftell 获得文件指针位置
    fgets 读文本文件(含行结束符) sprintf 格式化数据转换为字符串
    fprintf 写格式化数据到文件 sscanf 依数据格式化读取字符串
    fscanf 从文件读格式化数据    

    附录19.2特殊文件输入输出
    函数名 功能描述 函数名 功能描述
    imfinfo 获得图形文件信息 wklread 读一Lotus123WK1数据表
    imread 图像的文件读取 wklwrite 将一矩阵写入Lotus123WK1数据表文件
    imwrite 图像的文件保存 xlgetrange 读Excel表格文件的数据
    qrwrite 保存一段QuickTime电影文件 xlsetrange 写Excel文件

    附录20 位操作
    函数名 功能描述 函数名 功能描述
    bitand 位求与 bitor 位求或
    bitcmp 位求补 bitset 位设置
    bitget 位获取 bitshift 位移动
    bitmax 求最大无符号浮点整数 bitxor 位异或

    附录21 复杂数据类型
    附录21.1数据类型
    函数名 功能描述 函数名 功能描述
    cell 生成单元数组 sparse 生成稀疏数组
    char 生成字符串 struct 生成结构
    double 转换成双精度型 uint8 转换成无字符号单字节整数
    inline 生成INLINE对象    

    附录21.2结构操作
    函数名 功能描述 函数名 功能描述
    fieldnames 获得结构的子段名 rnfield 删除结构子段
    getfield 获得结构的子段值 setfield 设置结构的子段值
    isfield 如果子段属于结构则返回真 struct 生成结构数组
    isstruct 如果是结构则返回真 struct2cell 结构到单元数组的转换

    附录21.3多维数组操作
    函数名 功能描述 函数名 功能描述
    cat 数组连接 permute 任意改变矩阵维数序列
    ipermute 任意改变矩阵维数序列 shiftdim 矩阵维数序列的左移变换
    ndims 求矩阵维数 squeeze 去除多维数组中的一维向量
    ndgrid N维数组生成    

    附录21.4单元数组操作
    函数名 功能描述 函数名 功能描述
    cell 单元数组生成 iscell 如果是单元数组则返回真
    celldisp 显示单元数组内容 num2cell 将数值数组转换为单元数组
    cellplot 单元数组内容的图形显示 struct2cell 将结构数组转换为单元数组
    cell2struct 单元数组转换成结构数组    

    附录21.5面向对象函数
    函数名 功能描述 函数名 功能描述
    class 生成一个对象 methods 显示所有方法名
    isa 如果是某一给定类对象则返回真 struct 将对象转换为结构数组
    isobject 如果是一个对象则返回真 superiorto 建立类间的关系检里
    inferiorto 建立类间的关系检里    

    附录22 日期与时间
    函数名 功能描述 函数名 功能描述
    now 以数字形式给出当前日期和时间 weekday 星期函数
    date 以字符转形式给出当前日期 eomday 月末日判断函数
    clock 以向量形式给出当前日期和时间 cputime 所用CPU的时间
    datenum 日期的数字形式转换 tic 启动秒表计时器
    datestr 日期的字符串形式转换 toc 读取秒表计时器
    datevec 日期的向量形式转换 etime 使用时间函数
    calendar 日历函数 pause 暂停函数

    附录23 动态数据交换
    函数名 功能描述 函数名 功能描述
    ddeadv 设置DDE连接 dderep 接收数据
    ddeexec 发送要执行的串 ddeterm DDE终止
    ddeinit DDE初始化 ddeunadv 释放DDE连接
    ddepoke 发送数据

    展开全文
  • % %%%%%%%%%%%画网格%%%%%%%%%% % %%%%%%%%%%把带瓶盖的托盘完全分割开%%%%%%%%% % close all % clc % clear % %% 读入图像. % imgmilk = imread(’.\标记\1.jpg’); % %% 旋转 % angle = 0; %手动调整 % imgmilkh =...

    by:黄光耀
    % %%%%%%%%%%%画网格%%%%%%%%%%
    % %%%%%%%%%%把带瓶盖的托盘完全分割开%%%%%%%%%
    % close all
    % clc
    % clear
    % %% 读入图像.
    % imgmilk = imread(’.\标记\1.jpg’);
    % %% 旋转
    % angle = 0; %手动调整
    % imgmilkh = imrotate(imgmilk,angle);
    % %% 剪裁 % impixelinfo帮助确定位置信息和灰度信息(上、下、右、)
    % rect = [0,0,2051,1911];
    % imgmilkobj=imcrop(imgmilkh,rect);
    % figure,imshow(imgmilkobj),title(‘目标’);
    % imwrite(imgmilkobj,’.\demo-出图\1.jpg’);
    % %% 画网格,画出行和列
    % % 定义一个24位图
    % imgmilkobj_color(:,:,1)=imgmilkobj;
    % imgmilkobj_color(:,:,2)=imgmilkobj;
    % imgmilkobj_color(:,:,3)=imgmilkobj;
    % figure,imshow(imgmilkobj_color),title(‘原图的24位截图’);
    % imwrite(imgmilkobj_color,‘10.jpg’);
    % % 读入一个图片,对其网格进行划分;
    % A=imread(‘10.jpg’);
    % % [m,n]=size(A);
    % % b=ones(m,n,3);
    % b(:,:,1)=A(:,:,1);
    % b(:,:,2)=A(:,:,2);
    % b(:,:,3)=A(:,:,3);
    % %%%%%%%%%%%%参数设置%%%%%%%%%%%%
    % m=1; %左上角起点坐标
    % n=1;
    % % height=1880; % 上下,,矩形区域的长宽(这是适用于15-16中)
    % % width=2040;%左右,,矩形区域的长宽(这是适用于15-16中)
    %
    % height=1800; % 上下,,矩形区域的长宽(这是适用于103_1-103_3,103_2,103_4中);
    % width=1920;%左右,,矩形区域的长宽(这是适用于103_1-103_3,103_2,103_4中);
    % colpar1=255;
    % colpar2=0;
    % colpar3=0;
    % [b,p]=darwline(b,m,n,height,width,colpar1,colpar2,colpar3);
    % figure,imshow(uint8§);
    % %figure,imshow(uint8(b));.
    % % img_grid是代网格的图片
    % img_grid= uint8§;
    % % figure;
    % % imshow(img_grid);
    % % title(‘原始图像’)
    % %%这是定义M个行、N个列,
    % M=9;
    % N=11;
    % imshow(img_grid);
    % title(‘网格demo-出图图像’, ‘FontWeight’, ‘Bold’);
    % hold on;
    % [xt, yt] = meshgrid(round(linspace(1, size(img_grid, 1), M)), …
    % round(linspace(1, size(img_grid, 2), N)));%生成数据点矩阵
    % mesh(yt, xt, zeros(size(xt)), ‘FaceColor’, …
    % ‘None’, ‘LineWidth’, 1, …
    % ‘EdgeColor’, ‘r’);%绘制三维网格图
    % % 确定是否有瓶盖
    % % end
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%画网格%%%%%%%%%%%%%
    % %% 画网格,画出行和列
    % % 定义一个24位图
    % % imgmilkobj_rect=imcrop(imgmilkh,rect);
    % % p = imgmilkobj_rect;
    % p = imread(’.\裁剪\裁剪\51.jpg’);
    %
    % figure,imshow§;
    % [m,n,p] = size§;
    % hold on
    % M = 3; % 水平分量
    % N = 6; % 垂直分量
    % linew = 1; % 划线宽度
    % mx = ones(1,M+1);
    % my = linspace(1,m,M+1);
    % % 画水平线
    % for k = 1:M+1
    % line([mx(k) nmx(k)],[my(k) my(k)],‘color’,‘r’,‘LineWidth’,linew);
    % end
    % nx = linspace(1,n,N+1);
    % ny = ones(1,N+1);
    % % 画垂直线
    % for k = 1:N+1
    % line([nx(k) nx(k)],[ny(k) m
    ny(k)],‘color’,‘r’,‘LineWidth’,linew);
    % end
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%画网格并把每个网格截取存储下来、
    clc;
    clear all;
    tic;
    b = imread(’.\裁剪\裁剪\5.jpg’);
    rownumber = 3;
    colnumber = 6;
    rowpixel = 243;
    colpixel = 210;
    for x = 1:3
    for y = 1:6
    %%%%%%%%%%%%参数设置%%%%%%%%%%%%
    m= (x-1)*rowpixel+1;
    n= (y-1)*colpixel+1;
    height= 243;
    width= 210;
    colpar1=255;
    colpar2=0;
    colpar3=0;
    [b,p]=darwline(b,m,n,height,width,colpar1,colpar2,colpar3);

    % %下面是对图像进行二值化,
    % Level = 0.6;
    % Pic1 = im2bw(p,Level);%灰度图二值化
    % II =Pic1;
    imshow§;
    path=’.\网格’;
    ss= y+(6*(x-1));
    imwrite(p,strcat(path,num2str(ss),’.jpg’));

            end
    

    end

    展开全文
  • Matlab 常用的图像处理函数

    千次阅读 2012-01-20 11:55:22
    MATLAB常用图像操作 一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 注:计算机E盘上要有w01相应的.tif文件。 2. imwrite imwrite函数用于写入...
    MATLAB常用图像操作

    一. 读写图像文件

    1. imread

    imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif')

    注:计算机E盘上要有w01相应的.tif文件。

    2. imwrite

    imwrite函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',’tif’)

    3. imfinfo

    imfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif')

    二. 图像的显示

    1. image

    image函数是MATLAB提供的最原始的图像显示函数(主要彩色显示图象),如:

    a=[1,2,3,4;4,5,6,7;8,9,10,11,12];

    image(a);

    2. imshow

    imshow函数用于灰度图像文件的显示,如:

    i=imread('e:\w01.tif');

    imshow(i);

    3. colorbar

    colorbar函数用显示图像的颜色条。 
    通常,颜色映象进行过调节,把数据从最小扩展到最大,也就是说整个颜色映象都用于绘图。有时也许想改变颜色使用的方法。函数caxis代表颜色轴,因为颜色增加了另一个维数,它允许对数据范围的一个子集使用整个颜色映象或者对数据的整个集合只使用当前颜色映象的一部分。
           [cmin,cmax]=caxis返回映射到颜色映象中第一和最后输入项的最小和最大的数据。它们通常被设成数据的最小值和最大值。比如,函数mesh(peaks) 会画出函数peaks的网格图,并把颜色轴caxis设为[-6.5466,8.0752],即Z的最小值和最大值。这些值之间的数据点,使用从颜色映象中经插值得到的颜色。如:

    i=imread('e:\w01.tif');

    imshow(i);

    colorbar; 

    4 .figure
    figure函数用于设定图像显示窗口,如:figure(1); /figure(2);

    5.imagesc(a);   caxis([-3 8]) ; colorbar; 
    标尺标度从-3,到8 显示标度尺。

    三. 图像的变换

    1. fft2

    fft2函数用于数字图像的二维傅立叶变换,如:

    i=imread('e:\w01.tif');

    j=fft2(i);

    2. ifft2

    ifft2函数用于数字图像的二维傅立叶反变换,如:

    i=imread('e:\w01.tif');

    j=fft2(i);

    k=ifft2(j);

    3. 利用fft2计算二维卷积

    利用fft2函数可以计算二维卷积,如:

    a=[8,1,6;3,5,7;4,9,2];

    b=[1,1,1;1,1,1;1,1,1];

    a(8,8)=0;

    b(8,8)=0;

    c=ifft2(fft2(a).*fft2(b));

    c=c(1:5,1:5);

    利用conv2(二维卷积函数)校验, 如:

    a=[8,1,6;3,5,7;4,9,2];

    b=[1,1,1;1,1,1;1,1,1];

    c=conv2(a,b);

    四. 模拟噪声生成函数和预定义滤波器

    1. imnoise

    imnoise函数用于对图像生成模拟噪声,如:

    i=imread('e:\w01.tif');

    j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声

    2. fspecial

    fspecial函数用于产生预定义滤波器,如:

    h=fspecial('sobel');%sobel水平边缘增强滤波器

    h=fspecial('gaussian');%高斯低通滤波器

    h=fspecial('laplacian');%拉普拉斯滤波器

    h=fspecial('log');%高斯拉普拉斯(LoG)滤波器

    h=fspecial('average');%均值滤波器

    五. 图像的增强

    1. 直方图

    imhist函数用于数字图像的直方图显示,如:

    i=imread('e:\w01.tif');

    imhist(i);

    2. 直方图均化

    histeq函数用于数字图像的直方图均化,如:

    i=imread('e:\w01.tif');

    j=histeq(i);

    3. 对比度调整

    imadjust函数用于数字图像的对比度调整,如:

    i=imread('e:\w01.tif');

    j=imadjust(i,[0.3,0.7],[]);

    4. 对数变换

    log函数用于数字图像的对数变换,如:

    i=imread('e:\w01.tif');

    j=double(i);

    k=log(j);

    5. 基于卷积的图像滤波函数

    filter2函数用于图像滤波,如:

    i=imread('e:\w01.tif');

    h=[1,2,1;0,0,0;-1,-2,-1];

    j=filter2(h,i);

    6. 线性滤波

    利用二维卷积conv2滤波, 如:

    i=imread('e:\w01.tif');

    h=[1,1,1;1,1,1;1,1,1];

    h=h/9;

    j=conv2(i,h);

    7. 中值滤波

    medfilt2函数用于图像的中值滤波,如:

    i=imread('e:\w01.tif');

    j=medfilt2(i);

    8. 锐化

    (1)利用Sobel算子锐化图像, 如:

    i=imread('e:\w01.tif');

    h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子

    j=filter2(h,i);

    (2)利用拉氏算子锐化图像, 如:

    i=imread('e:\w01.tif');

    j=double(i);

    h=[0,1,0;1,-4,0;0,1,0];%拉氏算子

    k=conv2(j,h,'same');

    m=j-k;

    六. 举例

    二维傅立叶变换和二维傅立叶反变换:

    i=imread('e:\w01.tif');

    figure(1);

    imshow(i);

    colorbar;

    j=fft2(i);

    k=fftshift(j);

    figure(2);

    l=log(abs(k));

    imshow(l,[]);

    colorbar

    n=ifft2(j)/255;

    figure(3);

    imshow(n);

    colorbar;


    图像的变换

    1. 离散傅立叶变换的 Matlab 实现
           Matlab 函数 fft、fft2 和 fftn 分别可以实现一维、二维和 N 维 DFT 算法;而函数 ifft、ifft2 和 ifftn 则用来计算反 DFT 。这些函数的调用格式如下:
             A=fft(X,N,DIM)
           其中,X 表示输入图像;N 表示采样间隔点,如果 X 小于该数值,那么 Matlab 将会对 X 进行零填充,否则将进行截取,使之长度为 N ;DIM 表示要进行离散傅立叶变换。

             A=fft2(X,MROWS,NCOLS) 
    其中,MROWS 和 NCOLS 指定对 X 进行零填充后的 X 大小。

             A=fftn(X,SIZE)
    其中,SIZE 是一个向量,它们每一个元素都将指定 X 相应维进行零填充后的长度。

           函数 ifft、ifft2 和 ifftn的调用格式于对应的离散傅立叶变换函数一致。

    例子:图像的二维傅立叶频谱

    % 读入原始图像
    I=imread('lena.bmp');
    imshow(I)
    % 求离散傅立叶频谱
    J=fftshift(fft2(I));
    figure;
    imshow(log(abs(J)),[8,10])


    2. 离散余弦变换的 Matlab 实现

    2.1. dct2 函数
    功能:二维 DCT 变换
    格式:B=dct2(A) 
             B=dct2(A,m,n) 
             B=dct2(A,[m,n]) 
    说明:B=dct2(A) 计算 A 的 DCT 变换 B ,A 与 B 的大小相同;B=dct2(A,m,n) 和 B=dct2(A,[m,n]) 通过对 A 补 0 或剪裁,使 B 的大小为 m×n。

    2.2. dict2 函数
    功能:DCT 反变换
    格式:B=idct2(A) 
             B=idct2(A,m,n) 
             B=idct2(A,[m,n]) 
    说明:B=idct2(A) 计算 A 的 DCT 反变换 B ,A 与 B 的大小相同;B=idct2(A,m,n) 和 B=idct2(A,[m,n]) 通过对 A 补 0 或剪裁,使 B 的大小为 m×n。

    2.3. dctmtx函数
    功能:计算 DCT 变换矩阵
    格式:D=dctmtx(n)
    说明:D=dctmtx(n) 返回一个 n×n 的 DCT 变换矩阵,输出矩阵 D 为 double 类型。


    3. 图像小波变换的 Matlab 实现

    3.1 一维小波变换的 Matlab 实现
    (1) dwt 函数
    功能:一维离散小波变换
    格式:[cA,cD]=dwt(X,'wname')
             [cA,cD]=dwt(X,Lo_D,Hi_D)
    说明:[cA,cD]=dwt(X,'wname') 使用指定的小波基函数 'wname' 对信号 X 进行分解,cA、cD 分别为近似分量和细节分量;[cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的滤波器组 Lo_D、Hi_D 对信号进行分解。
    (2) idwt 函数
    功能:一维离散小波反变换
    格式:X=idwt(cA,cD,'wname')
             X=idwt(cA,cD,Lo_R,Hi_R)
             X=idwt(cA,cD,'wname',L)
             X=idwt(cA,cD,Lo_R,Hi_R,L)
    说明:X=idwt(cA,cD,'wname') 由近似分量 cA 和细节分量 cD 经小波反变换重构原始信号 X 。
             'wname' 为所选的小波函数
             X=idwt(cA,cD,Lo_R,Hi_R) 用指定的重构滤波器 Lo_R 和 Hi_R 经小波反变换重构原始信号 X 。
             X=idwt(cA,cD,'wname',L) 和 X=idwt(cA,cD,Lo_R,Hi_R,L) 指定返回信号 X 中心附近的 L 个点。

    3.2 二维小波变换的 Matlab 实现

               二维小波变换的函数
    -------------------------------------------------
         函数名                 函数功能
    ---------------------------------------------------
         dwt2             二维离散小波变换
       wavedec2       二维信号的多层小波分解
         idwt2           二维离散小波反变换
       waverec2         二维信号的多层小波重构
       wrcoef2           由多层小波分解重构某一层的分解信号
       upcoef2           由多层小波分解重构近似分量或细节分量
       detcoef2         提取二维信号小波分解的细节分量
       appcoef2         提取二维信号小波分解的近似分量
       upwlev2         二维小波分解的单层重构
       dwtpet2         二维周期小波变换
       idwtper2         二维周期小波反变换
    -------------------------------------------------------------

    (1) wcodemat 函数
    功能:对数据矩阵进行伪彩色编码
    格式:Y=wcodemat(X,NB,OPT,ABSOL)
             Y=wcodemat(X,NB,OPT)
             Y=wcodemat(X,NB)
             Y=wcodemat(X)
    说明:Y=wcodemat(X,NB,OPT,ABSOL) 返回数据矩阵 X 的编码矩阵 Y ;NB 伪编码的最大值,即编码范围为 0~NB,缺省值 NB=16;
           OPT 指定了编码的方式(缺省值为 'mat'),即:
                     OPT='row' ,按行编码
                     OPT='col' ,按列编码
                     OPT='mat' ,按整个矩阵编码
           ABSOL 是函数的控制参数(缺省值为 '1'),即:
                     ABSOL=0 时,返回编码矩阵
                     ABSOL=1 时,返回数据矩阵的绝对值 ABS(X)

    (2) dwt2 函数
    功能:二维离散小波变换
    格式:[cA,cH,cV,cD]=dwt2(X,'wname')
             [cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D)
    说明:[cA,cH,cV,cD]=dwt2(X,'wname')使用指定的小波基函数 'wname' 对二维信号 X 进行二维离散小波变幻;cA,cH,cV,cD 分别为近似分量、水平细节分量、垂直细节分量和对角细节分量;[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分解信号 X 。

    (3) wavedec2 函数
    功能:二维信号的多层小波分解
    格式:[C,S]=wavedec2(X,N,'wname')
             [C,S]=wavedec2(X,N,Lo_D,Hi_D)
    说明:[C,S]=wavedec2(X,N,'wname') 使用小波基函数 'wname' 对二维信号 X 进行 N 层分解;[C,S]=wavedec2(X,N,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分解信号 X 。

    (4) idwt2 函数
    功能:二维离散小波反变换
    格式:X=idwt2(cA,cH,cV,cD,'wname')
             X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)
             X=idwt2(cA,cH,cV,cD,'wname',S)
             X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)
    说明:X=idwt2(cA,cH,cV,cD,'wname') 由信号小波分解的近似信号 cA 和细节信号 cH、cH、cV、cD 经小波反变换重构原信号 X ;X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R) 使用指定的重构低通和高通滤波器 Lo_R 和 Hi_R 重构原信号 X ;X=idwt2(cA,cH,cV,cD,'wname',S) 和 X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S) 返回中心附近的 S 个数据点。

    (5) waverec2 函数
    说明:二维信号的多层小波重构
    格式:X=waverec2(C,S,'wname')
             X=waverec2(C,S,Lo_R,Hi_R)
    说明:X=waverec2(C,S,'wname') 由多层二维小波分解的结果 C、S 重构原始信号 X ,'wname' 为使用的小波基函数;X=waverec2(C,S,Lo_R,Hi_R) 使用重构低通和高通滤波器 Lo_R 和 Hi_R 重构原信号。
    图像处理工具箱1. 图像和图像数据
       缺省情况下,MATLAB将图像中的数据存储为双精度类型(double),64位浮点
    数,所需存储量很大;MATLAB还支持另一种类型无符号整型(uint8),即图像矩
    阵中每个数据占用1个字节。
       在使用MATLAB工具箱时,一定要注意函数所要求的参数类型。另外,uint8
    与double两种类型数据的值域不同,编程需注意值域转换。
               从uint8到double的转换
       ---------------------------------------------
           图像类型         MATLAB语句
       ---------------------------------------------
         索引色             B=double(A)+1
         索引色或真彩色 B=double(A)/255
         二值图像           B=double(A)
       ---------------------------------------------

             从double到uint8的转换
       ---------------------------------------------
           图像类型         MATLAB语句
       ---------------------------------------------
         索引色               B=uint8(round(A-1))
         索引色或真彩色     B=uint8(round(A*255))
         二值图像             B=logical(uint8(round(A)))
       ---------------------------------------------

    2. 图像处理工具箱所支持的图像类型

    2.1 真彩色图像
         R、G、B三个分量表示一个像素的颜色。如果要读取图像中(100,50)处的像素值,
    可查看三元数据(100,50,1:3)。
         真彩色图像可用双精度存储,亮度值范围是[0,1];比较符合习惯的存储方法是用无
    符号整型存储,亮度值范围[0,255]
       
    2.2 索引色图像
       包含两个结构,一个是调色板,另一个是图像数据矩阵。调色板是一个有3列和若干行
    的色彩映象矩阵,矩阵每行代表一种颜色,3列分别代表红、绿、蓝色强度的双精度数。
       
       注意:MATLAB中调色板色彩强度[0,1],0代表最暗,1代表最亮。
               常用颜色的RGB值
       --------------------------------------------
         颜色     R   G   B       颜色     R   G   B 
       --------------------------------------------
         黑     0   0   1       洋红     1   0   1
         白     1   1   1       青蓝     0   1   1
         红     1   0   0       天蓝 0.67 0   1
         绿     0   1   0       橘黄     1 0.5 0
         蓝     0   0   1       深红   0.5 0   0
         黄     1   1   0       灰     0.5 0.5 0.5       
       --------------------------------------------
             产生标准调色板的函数
       -------------------------------------------------
         函数名       调色板
       -------------------------------------------------
         Hsv       色彩饱和度,以红色开始,并以红色结束
         Hot       黑色-红色-黄色-白色
         Cool       青蓝和洋红的色度
         Pink       粉红的色度
         Gray       线型灰度
         Bone       带蓝色的灰度
         Jet         Hsv的一种变形,以蓝色开始,以蓝色结束
         Copper     线型铜色度
         Prim       三棱镜,交替为红、橘黄、黄、绿和天蓝
         Flag       交替为红、白、蓝和黑
    --------------------------------------------------
       缺省情况下,调用上述函数灰产生一个64×3的调色板,用户也可指定调色板大小。
       
       索引色图像数据也有double和uint8两种类型。
       当图像数据为double类型时,值1代表调色板中的第1行,值2代表第2行……
       如果图像数据为uint8类型,0代表调色板的第一行,,值1代表第2行……

    2.3 灰度图像
       存储灰度图像只需要一个数据矩阵。
       数据类型可以是double,[0,1];也可以是uint8,[0,255]

    2.4 二值图像
       二值图像只需一个数据矩阵,每个像素只有两个灰度值,可以采用uint8或double类型存储。
       MATLAB工具箱中以二值图像作为返回结果的函数都使用uint8类型。

    2.5 图像序列
       MATLAB工具箱支持将多帧图像连接成图像序列。
       图像序列是一个4维数组,图像帧的序号在图像的长、宽、颜色深度之后构成第4维。
       分散的图像也可以合并成图像序列,前提是各图像尺寸必须相同,若是索引色图像,
    调色板也必须相同。
       可参考cat()函数     A=cat(4,A1,A2,A3,A4,A5)

    3. MATLAB图像类型转换
             图像类型转换函数
       ---------------------------------------------------------------------------
         函数名                       函数功能
       ---------------------------------------------------------------------------
         dither       图像抖动,将灰度图变成二值图,或将真彩色图像抖动成索引色图像
         gray2ind     将灰度图像转换成索引图像
         grayslice     通过设定阈值将灰度图像转换成索引色图像
         im2bw       通过设定亮度阈值将真彩色、索引色、灰度图转换成二值图
         ind2gray     将索引色图像转换成灰度图像
         ind2rgb       将索引色图像转换成真彩色图像
         mat2gray   将一个数据矩阵转换成一副灰度图
         rgb2gray     将一副真彩色图像转换成灰度图像
         rgb2ind       将真彩色图像转换成索引色图像
       ----------------------------------------------------------------------------

    4. 图像文件的读写和查询

    4.1 图形图像文件的读取
       利用函数imread()可完成图形图像文件的读取,语法:

         A=imread(filename,fmt)
         [X,map]=imread(filename,fmt)
         [...]=imread(filename)
         [...]=imread(filename,idx) (只对TIF格式的文件)
         [...]=imread(filename,ref) (只对HDF格式的文件)

       通常,读取的大多数图像均为8bit,当这些图像加载到内存中时,Matlab就将其存放
    在类uint8中。此为Matlab还支持16bit的PNG和TIF图像,当读取这类文件时,Matlab就将
    其存贮在uint16中。

       注意:对于索引图像,即使图像阵列的本身为类uint8或类uint16,imread函数仍将
    颜色映象表读取并存贮到一个双精度的浮点类型的阵列中。

    4.2 图形图像文件的写入
       使用imwrite函数,语法如下:

       imwrite(A,filename,fmt)
       imwrite(X,map,filename,fmt)
       imwrite(...,filename)
       imwrite(...,parameter,value)

       当利用imwrite函数保存图像时,Matlab缺省的方式是将其简化道uint8的数据格式。

    4.3 图形图像文件信息的查询   imfinfo()函数

    5. 图像文件的显示

    5.1 索引图像及其显示

       方法一:
               image(X)
               colormap(map)

       方法二: 
               imshow(X,map)

    5.2 灰度图像及其显示
       Matlab 7.0 中,要显示一副灰度图像,可以调用函数 imshow 或 imagesc (即 
    imagescale,图像缩放函数)

       (1) imshow 函数显示灰度图像
         使用 imshow(I)     或 使用明确指定的灰度级书目:imshow(I,32)
        
         由于Matlab自动对灰度图像进行标度以适合调色板的范围,因而可以使用自定义
    大小的调色板。其调用格式如下:
               imshow(I,[low,high])
         其中,low 和 high 分别为数据数组的最小值和最大值。

       (2) imagesc 函数显示灰度图像
       下面的代码是具有两个输入参数的 imagesc 函数显示一副灰度图像
           imagesc(1,[0,1]);
           colormap(gray);
         imagesc 函数中的第二个参数确定灰度范围。灰度范围中的第一个值(通常是0),
    对应于颜色映象表中的第一个值(颜色),第二个值(通常是1)则对应与颜色映象表
    中的最后一个值(颜色)。灰度范围中间的值则线型对应与颜色映象表中剩余的值(颜色)。

         在调用 imagesc 函数时,若只使用一个参数,可以用任意灰度范围显示图像。在该
    调用方式下,数据矩阵中的最小值对应于颜色映象表中的第一个颜色值,数据矩阵中的最大
    值对应于颜色映象表中的最后一个颜色值。

    5.3 RGB 图像及其显示
       (1) image(RGB) 
       不管RGB图像的类型是double浮点型,还是 uint8 或 uint16 无符号整数型,Matlab都
    能通过 image 函数将其正确显示出来。

       RGB8 = uint8(round(RGB64×255)); % 将 double 浮点型转换为 uint8 无符号整型
       RGB64 = double(RGB8)/255;             % 将 uint8 无符号整型转换为 double 浮点型
       RGB16 = uint16(round(RGB64×65535)); % 将 double 浮点型转换为 uint16 无符号整型 
       RGB64 = double(RGB16)/65535;       % 将 uint16 无符号整型转换为 double 浮点型

       (2) imshow(RGB) 参数是一个 m×n×3 的数组

    5.4 二进制图像及其显示

       (1) imshow(BW)
       在 Matlab 7.0 中,二进制图像是一个逻辑类,仅包括 0 和 1 两个数值。像素 0 显示
    为黑色,像素 1 显示为白色。
       显示时,也可通过NOT(~)命令,对二进制图象进行取反,使数值 0 显示为白色;1 显示
    为黑色。 
       例如: imshow(~BW)

       (2) 此外,还可以使用一个调色板显示一副二进制图像。如果图形是 uint8 数据类型,
    则数值 0 显示为调色板的第一个颜色,数值 1 显示为第二个颜色。
       例如: imshow(BW,[1 0 0;0 0 1])   

    5.5 直接从磁盘显示图像
       可使用一下命令直接进行图像文件的显示: 
             imshow filename
       其中,filename 为要显示的图像文件的文件名。

       如果图像是多帧的,那么 imshow 将仅显示第一帧。但需注意,在使用这种方式时,图像
    数据没有保存在Matlab 7.0 工作平台。如果希望将图像装入工作台中,需使用 getimage 函
    数,从当前的句柄图形图像对象中获取图像数据,
       命令形式为: rgb = getimage;
    展开全文
  • 一些基本数字图像处理算法

    千次阅读 2020-05-10 19:45:46
    一些基本数字图像处理算法 所有的图像算法都在DIPAlgorithm类,并且所有算法都为抽象成员函数。我已经按照java注释规范为所有方法添加使用说明注释,具体实现可见于DIPAlgorithm.java,这里只做算法说明。 1 图像...
  • 冈萨雷斯图像处理Matlab函数汇总

    千次阅读 2014-01-02 10:08:07
    转自 ... (注:所有函数的头字母都应是小写) 图像显示 colorbar 显示彩条 getimage 由坐标轴得到图像数据 ice(DIPUM) 交互彩色编辑 image 创建和显示图像对象 imagesc 
  • 数字图像处理第六章数字图像处理---彩色图像处理(一) 在 MATLAB 彩色图像的表示(二)仿射变换(三)投影变换(四)应用于图像的几何变换(五)MATLAB 的图像坐标系统5.1 输出图像位置5.2 控制输出网格(六)...
  • 下面仅给出函数的大概意思,详细用法见: help 函数名 或 matlab help   1、imread:read image from graphics file; 2、imshow:display image in Handle Graphics figure;
  • 图像基本变换是图像处理的基本内容,是学习以后复杂的仿射变换、透视变换以及更高级的MLS网格变形等内容的基础,意义重大。本篇将从平移、缩放和旋转三个方面来讲解如何单纯使用C语言来轻松实现这三个算法。
  • [matlab] 图像处理工具箱

    千次阅读 2020-08-23 08:08:25
    自己在学习过程查阅资料整理了MATLAB图像处理工具箱中函数的名称列表,以及MathWorks讲解各个函数使用的链接: 1.绘图工具箱 plot 基本绘图函数 mesh 绘制三维网格曲面 fplot 绘制数学函数图 ...
  • MATLAB图像处理工具箱

    千次阅读 2018-08-11 22:21:26
    自己在学习过程查阅资料整理了MATLAB图像处理工具箱中函数的名称列表,以及MathWorks讲解各个函数使用的链接: 1.绘图工具箱 plot 基本绘图函数 mesh 绘制三维网格曲面 fplot 绘制数学函数图 ....
  • 数字图像处理第三章数字图像处理---频域处理(六)高通滤波函数6.1 高通滤波函数6.2 高频强调滤波(七)选择性滤波7.1带阻和带通滤波器(五)在频域直接生成滤波器5.1 建立网格数组以实现频域滤波器5.2 频域低通...
  • Matlab图像处理常用函数

    千次阅读 2010-09-05 21:36:00
    Matlab常用图像操作一. 读写图像文件1. imreadimread函数用于读入各种图像文件,如:a=imread('e:/w01.tif')注:计算机E盘上要有w01相应的.tif文件。2. imwriteimwrite函数用于写入图像文件,如:imwrite(a,'e:/w02....
  • 数字图像处理第十一章数字图像处理---表达与描述(一)背景知识1.1 用于提取区域及其边界的函数1.2 本章使用的 MATLAB和 IPT附加函数1.3 一些基本的实用 M-函数(二)表示2.1 链码2.2 使用最小周长多边形的多边形...
  • 数字图像处理第三章数字图像处理---频域处理(四)从空域滤波器获得频域滤波器(五)在频域直接生成滤波器5.1 建立网格数组以实现频域滤波器5.2 频域低通(平滑)滤波器5.3 线框及表面绘制 数字图像处理—频域处理 ...
  • 数字图像处理--几个MATLAB函数

    千次阅读 2013-09-18 10:50:22
    [Code=MATLAB]meshgrid是MATLAB用于生成网格采样点的函数。在使用MATLAB进行3-D图形绘制方面有着广泛的应用 函数功能 生成绘制3-D图形所需的网格数据。在计算机进行绘图操作时, 往往需要一些采样点,然后...
  • 【Matlab】图像插值函数interp2理解

    万次阅读 2016-05-10 23:47:35
    图像插值就是利用已知邻近像素点的灰度值(或rgb图像中的三色值)来产生未知像素点的灰度值,以便由原始图像再生出具有更高分辨率的图像。通过例子来理解interp2函数:[X,Y] = meshgrid(-3:3); %产生网格坐标 V = ...
  • [转] 图像处理中的拉普拉斯算子

    千次阅读 2018-07-30 10:32:54
    http://book.51cto.com/art/200808/84592.htm 5.5.2 拉普拉斯掩模锐化(1) 1.基本理论 拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性
1 2 3 4 5 ... 20
收藏数 21,525
精华内容 8,610
关键字:

图像处理中的网格函数