zoukankan      html  css  js  c++  java
  • 数字图像处理_图像的采样和量化

    基础知识储备

    采样;就是把一幅连续图像在空间上分割成M×N个网格,每个网格用一亮度值来表示。一个网格称为一个像素。M×N的取值满足采样定理。

    https://img-blog.csdn.net/20171222105203223?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenFod2FuZG8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
    量化;就是把采样点上对应的亮度连续变化区间转换为单个特定数码的过程。量化后,图像就被表示成一个整数矩阵。每个像素具有两个属性:位置和灰度。位置由行、列表示。灰度表示该像素位置上亮暗程度的整数。此数字矩阵M×N就作为计算机处理的对象了。灰度级一般为0-255(8bit量化)。
    量化示意图(a)为量化过程(b)为量化为8bit

    量化示意图(a)为量化过程(b)为量化为8bit

    在现实生活中,采集到的图像都需要经过离散化变成数字图像后才能被计算机识别和处理。

    二维图像的成像过程
    二维图像的成像过程
    采样又可分为均匀采样和非均匀采样。
    图像均匀采样量化——像素灰度值在黑白范围较均匀分布的图像。
    图像非均匀采样量化——对图像中像素灰度值频繁出现的灰度值范围,量化间隔取小一些,而对那些像素灰度值极少出现的范围,则量化间隔取大一些。
    不同分辨率下图像的显示情况
    编程处理

    MATLAB对图像进行采样处理

     1 %2.1图像的采样处理
     2 f1=imread('C:UsersAdministratorDesktoplenagray.jpg');
     3 figure(1);
     4 subplot(2,2,1);
     5 imshow(f1)
     6 title('512*512')
     7 f2=f1(1:2:end,1:2:end);%每2位采集1位
     8 subplot(2,2,2)
     9 imshow(f2)
    10 title('256*256')
    11 f3=f1(1:4:end,1:4:end);%每4位采集1位
    12 subplot(2,2,3)
    13 imshow(f3)
    14 title('128*128')
    15 f4=f1(1:8:end,1:8:end);%每8位采集1位
    16 subplot(2,2,4)
    17 imshow(f4)
    18 title('64*64')

    结果截图

    MATLAB对图像进行量化处理

    %2.2图像量化
    figure(2);
    f64=histeq(f1,64);%将图像的灰度级数改为64
    subplot(2,2,1);
    imshow(f64)
    title('64*64')
    f32=histeq(f2,32);%将图像的灰度级数改为32
    subplot(2,2,2);
    imshow(f32)
    title('32*32')
    f16=histeq(f3,16);%将图像的灰度级数改为16
    subplot(2,2,3);
    imshow(f16)
    title('16*16')
    f8=histeq(f4,8);%将图像的灰度级数改为8
    subplot(2,2,4);
    imshow(f8)
    title('8*8')

    结果截图

  • 相关阅读:
    SQL语句集(转)
    Oracle 数据库 for update / for update nowait 的区别
    XML 关键字
    JAVA 操作 DBF 文件数据库
    Hibernate 懒加载和 Json 序列化冲突
    MYSQL 语法大全自己总结的
    php-laravel中间件使用
    php-表单验证
    php-laravel安装与使用
    iOS 关于权限设置的问题
  • 原文地址:https://www.cnblogs.com/henuliulei/p/10496306.html
Copyright © 2011-2022 走看看