zoukankan      html  css  js  c++  java
  • 12. matlab图像处理基础——混沌系统、函数

    1、混沌系统

    (1)绘制序列

      语法:y = linspace(x1,x2,n)

      序列值分布:(x2-x1)/(n-1)

    %% 绘制序列
    x = linspace(0,0,100);
    x(1) = 0.98;
    for i = 2:100;
        x(i) = 1-2*x(i-1)*x(i-1);
    end
    plot(x)
    

    (2)初始值敏感性

    %% 初始值敏感性
    long = 100;
    a = linspace(0,0,long);
    a(1) = 0.98;
    for i = 2:long;
        a(i) = 1-2*a(i-1)*a(i-1);
    end
    b = linspace(0,0,long);
    b(1) = 0.980001;
    for i = 2:long;
        b(i) = 1-2*b(i-1)*b(i-1);
    end
    plot(a);
    hold on
    plot(b) 
    

    (3)二值化处理

      

    %% 二值化处理
    a = linspace(0,0,80);
    a(1) = 0.98;
    for i = 2:80;
        a(i) = 1-2*a(i-1)*a(i-1);
    end
    % plot(a,'o');
    b = a;
    for i = 1:80
        if a(i)>0
            b(i) = 1;
        else
            b(i)=0;
        end
    end
    subplot(1,2,1),plot(a,'o');
    subplot(1,2,2),plot(b,'ob');
    

    (4)生成二值混沌系统

    %% 生成二值混沌图像
    a = zeros(512,512);
    a(1) = 0.98;
    for i =2:512*512
        a(i) = 1-2*a(i-1)*a(i-1);
    end
    for i = 1:512*512
        if a(i)>0
            a(i)=1;
        else
            a(i)=0;
        end
    end
    imshow(a);
    

    (5)生成灰度混沌图像

    %% 生成灰度混沌图像
    clc;
    clear all;
    a = zeros(512,512);
    a(1) = 0.98;
    for i =2:512*512
        a(i) = 1-2*a(i-1)*a(i-1);
    end
    % 对a的值进行转换
    b = zeros(512,512);
    b = mod(round(a*98989898989898),256);
    imshow(b,[]);
    

    (6)生成彩色混沌图像

    %% 生产彩色混沌图像
    r = zeros(512,512);
    r(1) = 0.98;
    for i = 2:512*512
        r(i) = 1-2*r(i-1)*r(i-1);
    end
    r = mod(round(r*10000000),256);
    
    g = zeros(512,512);
    g(1) = 0.59;
    for i = 2:512*512
        g(i) = 1-2*g(i-1)*g(i-1);
    end
    g = mod(round(g*10000000),256);
    
    b = zeros(512,512);
    b(1) = 0.236;
    for i = 2:512*512
        b(i) = 1-2*b(i-1)*b(i-1);
    end
    b = mod(round(b*10000000),256);
    
    c = zeros(512,512,3);
    c = cat(3,r,g,b);
    imshow(uint8(c));
    

    2、函数

    (1)函数构建

     

    (2)生成二值混沌图像函数

      ① 函数生成:

    function bitI = creatBI(oValue)
    %   生成二值混沌图像
    bitI = zeros(512,512);
    % 生成混沌数组
    l = zeros(512,512);
    l(1) = oValue;
    for i = 2:512*512
        l(i) = 1-2*l(i-1)*l(i-1);
    end
    
    % 二值化
    for i = 1:512*512
        if l(i)>0
            bitI(i)=1;
        else
            bitI(i)=0;
        end
    end

      ② 函数调用:

    %% 二值混沌图像函数调用
    t = creatBI(0.98);
    imshow(t);
    

    (3)生成灰度混沌图像函数

      ① 生成函数:

    function grayImage = grayImage(oValue)
    %   生成灰度混沌图像
    
    l = zeros(512,512);
    grayIamge = zeros(512,512);
    l(1) = oValue;
    for i = 2:512*512
        l(i) = 1-2*l(i-1)*l(i-1);
    end
    
    grayImage=mod(round(l*100000000),256);
    grayImage=uint8(grayImage);
    

      ② 函数调用:

    %% 灰度混沌图像函数调用
    x = grayImage(0.98);
    imshow(x);
    

    (4)生成彩色混沌图像函数

      ① 生成函数:

    function x = RgbImage(oValue1,oValue2,oValue3)
    %   生成彩色混沌图像
    
    % 方法一:重写
    % r = zeros(512,512);
    % g = zeros(512,512);
    % b = zeros(512,512);
    % 
    % % red通道
    % r(1) = oValue1;
    % for i =2:512*512
    %     r(i) = 1-2*r(i-1)*r(i-1);
    % end
    % r = mod(round(r*100000000),256);
    % % green通道
    % g(1) = oValue2;
    % for i =2:512*512
    %     g(i) = 1-2*g(i-1)*g(i-1);
    % end
    % g = mod(round(g*100000000),256);
    % % blue通道
    % b(1) = oValue3;
    % for i =2:512*512
    %     b(i) = 1-2*b(i-1)*b(i-1);
    % end
    % b = mod(round(b*100000000),256);
    % 
    % % 合成
    % x = cat(3,r,g,b);
    % x = uint8(x);
    
    % 方法2:调用灰度混沌生成函数
    r = grayImage(oValue1);
    g = grayImage(oValue2);
    b = grayImage(oValue3);
    x = cat(3,r,g,b);
    x = uint8(x);
    

      ② 函数调用:

    %% 彩色混沌图像函数调用
    x = RgbImage(0.98,0.56,0.23);
    imshow(x);
    

      

  • 相关阅读:
    虚拟机三种虚拟网络的区别
    关于 三次握手和四次挥手 的生动解析
    Tkinter布局管理器
    F#周报2019年第4期
    F#周报2019年第3期
    ML.NET 0.9特性简介
    F#周报2019年第2期
    浏览器保存数据的几种方法
    F#周报2019年第1期
    ML.NET教程之客户细分(聚类问题)
  • 原文地址:https://www.cnblogs.com/fengxb1213/p/12886616.html
Copyright © 2011-2022 走看看