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
  • 相关阅读:
    rsync+sersync实现文件同步
    HTTP 响应码
    ipv4和ipv6的区别
    查看linux系统版本信息
    MQ基础知识学习
    自动化测试的框架介绍和选择
    python(目录)
    分布式和集群
    raid 工作模式 raid0 raid1 raid10 raid5
    CentOS Docker安装
  • 原文地址:https://www.cnblogs.com/rongfangliu/p/6075585.html
Copyright © 2011-2022 走看看