• ceshi


    %kadd.m
    clc
    clear all
    % img = imread('testimgdebugleft_small1.png');
    im(:,:,1) = importdata('img1.txt');
    im(:,:,2) = importdata('img2.txt');
    im(:,:,3) = importdata('img0.txt');
    im = im(1:12,1:12,:);
    [m n d] = size(im);
    cl_Q = 10;
    n_bufs = 61;
    m_nPixels = m*n;
    m_height = m;
    m_width = n;
    k_ind = zeros(m,n);
    exp2 = zeros(12,1);
    exp2(0+1) = 1;
    for i=1:32
        exp2(i+1) = exp2(i+1-1)*2;
    end
    lg2Q = 0;
    while(exp2(lg2Q+1) < cl_Q)
        lg2Q = lg2Q + 1;
    end
    exp2
    cl_Q = exp2(lg2Q+1)
    H = zeros(cl_Q,256);
    Cnt = zeros(cl_Q,1);
    Thr = zeros(cl_Q,1);

    for l = 0:lg2Q-1
        ch = mod(l+1,3);
        if (ch == 0)
            ch = 3;
        end
        imch = im(:,:,ch);
        H = zeros(cl_Q,256);
        Cnt = zeros(cl_Q,1);
        Thr = zeros(cl_Q,1);
        lB = exp2(l+1);

        for i = 1:m
            for j = 1:n
                q = k_ind(i,j);
                H(q+1, imch(i,j)+1) = H(q+1, imch(i,j)+1) + 1;
                Cnt(q+1) = Cnt(q+1) + 1;
            end
        end

        for ll = 0:lB-1
            Cnt(ll+1) = floor(Cnt(ll+1) / 2);
            sumv = 0;
            md = 0;   
            while(Cnt(ll+1) > sumv)
                sumv  = sumv + H(ll+1, md + 1);
                md = md + 1;
            end    
            if(md > 0)
                md = md - 1;
            end
            Thr(ll+1) = md;
            Cnt(ll+1) = floor(H(ll+1, md + 1) / 2);
        end

        for i = 1:m
            for j = 1:n
                q = k_ind(i,j);
                if(imch(i,j) == Thr(q + 1))
                    if(Cnt(q+1) == 0 )
                        k_ind(i,j) = k_ind(i,j) + lB;
                    else
                        Cnt(q+1) = Cnt(q+1) - 1;
                    end
                elseif(imch(i,j) > Thr(q+1))
                    k_ind(i,j) = k_ind(i,j) + lB;
                end
            end
        end
    end
    % kind_vs = importdata('kind1.txt');
    % diff = kind_vs - k_ind;
    % diff1 = sum(diff(:))





  • 相关阅读:
    dll学习
    mysql解压版安装
    mysql创建用户以及搭建数据库
    Springboot使用mybatis-plus
    分布式系统
    2、Zookeeper安装以及dubbo-admin的安装启动
    搭建分布式系统(idea+springboot+dubbo)
    Zookeeper下载和启动
    Spring Cloud底层原理
    Redis
  • 原文地址:https://www.cnblogs.com/adong7639/p/7383057.html
Copyright © 2020-2023  润新知