• Matlab基础:关于图像的基本操作


    --

    %% 学习目标:学习关于图像的基本操作
     
    %% 通过抖动来增强图像的的色彩对比度
    clear all;
    close all;
    I = imread('cameraman.tif');%读取灰度图像
    BW = dither(I);%通过抖动转换为二值图像来增强图像的色彩对比度
    subplot(1,2,1);%将多个图片显示在同一个窗口,subplot(m,n,p)。
    imshow(I);
    subplot(1,2,2);
    imshow(BW);
     
    %% 获取图像信息
    clear all;
    close all;
    info = imfinfo('trees.tif','tif');%获取图像信息
    disp(info);%输出图像信息
     
    %% 改变图像格式
    clear all;
    close all;
    RGB = imread('trees.tif','tif');%读取一个RGB图片
    imwrite(RGB,'Mytrees.png','png');%将tif格式图片转换为png格式
    tupian = imread('Mytrees.png');
    figure;
    imshow(tupian);
     
    %% 读取图像中的某些帧
    clear all;
    close all;
    I1 = imread('mri.tif',5);%读取第5帧
    I20 = imread('mri.tif',25);
    figure;
    subplot(1,2,1);
    imshow(I1);
    subplot(1,2,2);
    imshow(I20);
     
    %% which mri.tif 查看图像位置
     
    %% 同时显示多帧图像
    clear all;
    close all;
    mri = uint8(zeros(128,128,1,25));
    for i = 1:25  %25帧
        [mri(:,:,:,i),map] = imread('mri.tif',i);
    end
    montage(mri,map);%同时显示多帧图像
     
    %% 将多帧图像转换为电影
    clear all;
    close all;
    mri = uint8(zeros(128,128,1,25));
    for i = 1 : 25
        [mri(:,:,:,i),map] = imread('mri.tif',i);
    end
    mov = immovie(mri,map);%把图像转换为动画
    implay(mov);%显示动画
     
    %% 图像相加  如果大于255就设置为255
    clear all;
    close all;
    I = imread('rice.png');
    J = imread('cameraman.tif');
    K = imadd(I,J,'uint16');
    imshow(K,[]);
     
    %% 图像相减,小于0则设置为0,  0到255  减去一个常数颜色更深
    clear all;
    close all;
    I = imread('cameraman.tif');
    J = imsubtract(I,90);%减去90  减的越大,图像越暗(0表黑色嘛)
    imshow(J);
     
    %% 图像相乘
    clear all;
    close all;
    I = imread('cameraman.tif','tif');
    J = immultiply(I,0.6);%乘0.6(小于1),变暗
    subplot(121);
    imshow(I);
    subplot(122);
    imshow(J);
     
    %% 图像相除  维数要一样
    clear all;
    close all;
    X = uint8([222 50 21; 56 77 89]);%X and Y 都是2*3的矩阵
    Y = uint8([66 66 66; 66 66 66]);
    Z = imdivide(X,Y);% X/Y
    disp(Z);
     
    %% 两幅图像的绝对差异
    clear all;
    close all;
    I = imread('cameraman.tif','tif');
    J = uint8(filter2(fspecial('gaussian'),I)); % 对图像进行滤波
    K = imabsdiff(I,J);%获取滤波图像和之前图像的差异
    subplot(121);
    imshow(I);
    subplot(122);
    imshow(K,[]);%加[]是为了显示清晰
     
    %% fspecial:用于建立预定义的滤波算子或者说产生预定义滤波器

    原文:https://blog.csdn.net/KimLK/article/details/78064384

    --

  • 相关阅读:
    撒旦撒旦撒
    的释放的是分
    识别真假搜索引擎(搜索蜘蛛)方法(baidu,google,Msn,sogou,soso等)
    [转]Tesseract-OCR (Tesseract的OCR引擎最先由HP实验室于1985年开始研发)
    使用SQLMAP对网站和数据库进行SQL注入攻击
    Kali Linux 安装教程-转
    【教程】如何修改路由表?
    基于comet服务器推送技术(web实时聊天)
    Ghost硬盘对拷
    Web 通信 之 长连接、长轮询(long polling)
  • 原文地址:https://www.cnblogs.com/Ph-one/p/11516811.html
Copyright © 2020-2023  润新知