zoukankan      html  css  js  c++  java
  • matlab直方图均衡,使用向量优化

    matlab自带有histeq函数对图像进行直方图均衡

    自己写了一个,改成向量化形式,效率提高了一点,但是比自带的还是差很多,差不多9倍

    function D = my_histeq(I)
    [m,n] = size(I);
    S = zeros(1,256,'double');
    % 得到0-255各个灰阶的计数
    i = 1:m;j = 1:n;
    S(I(i,j)+1) = S(I(i,j)+1) + 1;
    % 得到各灰度阶的概率
    S = S./(m*n);
    % 得到概率累计分布函数
    P = zeros(1,256,'double');
    P(1) = S(1);
    k = 2:256;
    P(k) = P(k-1) + S(k);
    % 投影到灰度阶 D
    = zeros(m,n,'uint8'); D(i,j) = P(I(i,j)+1)*255+0.5;

    原来使用for循环的

    function D = my_histeq(I)
    [m,n] = size(I);
    S = zeros(1,256,'double');
    % 得到0-255各个灰阶的计数
    for i = 1:m
         for j = 1:n
             S(I(i,j)+1) = S(I(i,j)+1) + 1;  % 注意下标
         end
    end
    % 得到各灰度阶的概率
    S = S./(m*n);
    % 得到概率累计分布函数
    P = zeros(1,256,'double');
    for i = 1:256
         if i==1
             P(i) = S(i);
         else
             P(i) = P(i-1) + S(i);
         end
    end
    D
    = zeros(m,n,'uint8'); for i = 1:m for j=1:n D(i,j) = P(I(i,j)+1)*255+0.5; end end
  • 相关阅读:
    JZOJ1495 宝石
    JZOJ1496 页
    jzoj1497. 景点中心
    2019.8.2总结
    学习进度报告2021/3/19
    学习进度报告2021/3/18
    《学会提问》读书笔记2
    学习进度报告2021/3/17
    学习进度报告2021/3/16
    学习进度报告2021/3/15
  • 原文地址:https://www.cnblogs.com/rongfangliu/p/6075585.html
Copyright © 2011-2022 走看看