zoukankan      html  css  js  c++  java
  • MATLAB数字图像处理基础

    图像的输入、输出和显示

    1.图像的输入    imread('filename'),  实际中写的是 >> f = imread('sky.jpg');

    2.图像的显示    imshow(f)

    3.图像的输出    imwrite(f,'test1.jpg')    更加通用的imwrite的语法是imwrite(f,'test2.jpg,''quality',q)  其中q是从0到100的一个整数(对于jpeg压缩,数字越小,劣化越高)  下列的图片分别是q = 1 ,q = 20 ,q= 50 的显示结果:

          

    二值图像:

    4. 一幅二值图像的是一个取值只有0和1的逻辑数组。使用logical可将数值数组转化为二值图像。islogical可以用来测试一个数组是否是logical类。

      ( logical用作逻辑索引,逻辑索引具有形式A(D),其中   A=[1 2 3;4 5 6;7 8 9];   D=logical( [1 0 0;0 0 1;0 0 0]);    >>A(D)  得到输出结果为ans = 1 6

    逻辑索引具有形式A(D),其中A是一个数组,D是一个与A相同的大小的逻辑数组。表达式A(D)提取A中与D的1值元素相对应的所有元素。)   

    5.   g = mat2gray(A,[Amin,Amax])   可以将一幅图像转换为标定到[0,1]范围的double类的数组,其中g具有范围从0到1的值,指定参数Amin和Amax的作用如下:若A中的值小于Amin,则在g中变为0;若A中的值大于Amax,则在g中变为1.  语法g = mat2gray(A)将Amin和Amax的值设置为A中实际最小值和最大值。

    " >>  g = mat2gray(f) "  的执行结果如下,左侧是原图,右侧是转化后的图像,可以看出二者几乎没有区别:

               

    "  >> g = mat2gray(A,[Amin,Amax]) "  的测试代码如下:

    1 >> f = imread('sky1.jpeg');
    2 >> imshow(f);
    3 >> g = mat2gray(f,[200,255]);
    4 >> figure,imshow(g);
    5 >> g1 = mat2gray(f,[0,50]);
    6 >> figure,imshow(g1);
    View Code

    结果如下图:

  • 相关阅读:
    旧文备份:CANopen协议PDO的几种传输方式
    CANopen 基础
    单片机FLASH与RAM、ROM的关系
    在CANopen网络中通过LSS服务设置节点地址和网络波特率
    STM32F103 CAN中断发送功能的再次讨论
    由RS-232串口到PROFIBUS-DP总线的转换接口设计
    profibus 的DPV0 和DPV1
    PROFIBUS-DP
    profibus总线和profibus dp的区别
    获取验证码倒计时
  • 原文地址:https://www.cnblogs.com/liugl7/p/5241860.html
Copyright © 2011-2022 走看看