• 因为自己是一枚图像处理领域的研究生菜鸟,即将从事的方向是图像处理下的图像融合方向,故,把我自己学习中遇到的不太明白的知识列下来,留作纪念,加深印象与理解。 从广义上说,图像是自然界景物的客观反映。以...

    因为自己是一枚图像处理领域的研究生菜鸟,即将从事的方向是图像处理下的图像融合方向,故,把我自己学习中遇到的不太明白的知识列下来,留作纪念,加深印象与理解。
    从广义上说,图像是自然界景物的客观反映。以照片形式或视频记录介质保存的图像是连续的,计算机无法接收和
    处理这种空间分布和亮度取值均连续分布的图像。图像数字化就是将连续图像离散化,其工作包括两个方面:
    取样和量化。
    那么,究竟什么是采样,什么又是量化呢?
    所谓采样,就是把一幅连续图像在空间上分割成M×N个网格,每个网格用一亮度值来表示。一个网格称为一个像素。M×N的取值满足采样定理。
    采样示意图
    而量化就是把采样点上对应的亮度连续变化区间转换为单个特定数码的过程。量化后,图像就被表示成一个整数矩阵。每个像素具有两个属性:位置和灰度。位置由行、列表示。灰度表示该像素位置上亮暗程度的整数。此数字矩阵M×N就作为计算机处理的对象了。灰度级一般为0-255(8bit量化)。
    量化示意图(a)为量化过程(b)为量化为8bit
    在现实生活中,采集到的图像都需要经过离散化变成数字图像后才能被计算机识别和处理。
    二维图像的成像过程
    采样又可分为均匀采样和非均匀采样。
    图像均匀采样量化——像素灰度值在黑白范围较均匀分布的图像。
    图像非均匀采样量化——对图像中像素灰度值频繁出现的灰度值范围,量化间隔取小一些,而对那些像素灰度值极少出现的范围,则量化间隔取大一些。
    不同分辨率下图像的显示情况
    通过自己查资料整理,终于对图像的采样与量化过程有了最基本的了解,不像刚开始写之前,懵懵懂懂的,就感觉听了好多遍这两个词,但就是不知道他两是干啥用的。谨以此文,纪念之。

    展开全文
  • 图像采样,就是把模拟图像分割成若干个称为像素的小区域,每个像素的属性用一个或几个数值来表示,如灰度图像,改属性用一个整数值表示亮度或灰度值。可见,采样是对图像空间坐标的离散化,确定了图像的空间分辨率...
    图像的二维函数表示

    以一副只有灰度级的图像为例,假设灰度值是坐标(x,y)的函数,则I=f(x,y)
    对图像采样,就是把模拟图像分割成若干个称为像素的小区域,每个像素的属性用一个或几个数值来表示,如灰度图像,改属性用一个整数值表示亮度或灰度值。可见,采样是对图像空间坐标的离散化,确定了图像的空间分辨率
    经过抽样,模拟图像已在空间上离散化为像素。但抽样结果所得的像素的值仍是连续量。把采样所得到的各像素的灰度值从模拟量到离散量的转换为量化量化决定了图像灰度的分辨率

    存储一幅画需要的内存:

    neicun
    灰度分辨率:灰度级别中可辨别的最小变化,通常把灰度级L称为灰度分辨率

    空间分辨率N和幅度分辨率k分别变化对图像质量产生的影响的结论:
    • 图像质量一般随N和k的增加而增加,在极少情况下对固定的N,减少k能改进质量。
    • 对具有大量细节的图像只需很少的灰度级数就可较好的表示
    • b为常数的一系列图象主观看起来可以有较大的差异
    图像量化的方法
    • 按量化级别步长的均匀性:

      • 均匀量化:是简单地在灰度范围内等间隔量化
      • 非均匀量化:是对像素出现频度低的部分量化间隔取大而对频率高的部分量化间隔取小。
    • 按量化对称性:对称量化和非对称量化

    • 按量化时采样点相互间的相关性分:有记忆和无记忆量化

    • 按量化是处理的采样点数分:

    • 标量量化:将数值逐个量化

    • 矢量量化:一次量化2个以上的采样点,量化过程需要用到一个码书
      量化原理
      均匀量化:
      线性量化
      量化取值

    图像的非均匀采样和量化
    • 图像的非均匀采样:
      需要确定的边缘,不适用用均匀区域较少的图像。
    • 图像的非均匀量化:
      非均匀量化是依据衣服图像的具体的灰度值分布的概率密度函数,按总的量化误差最小的原则来进行量化。
    展开全文
  • 图像边缘含有图像形状的丰富信息,然而,图像边缘有时所含的像素点还是太多,很多情况下需要继续精简(比如,使用 ShapeContext 进行形状匹配),于是就出现一个问题:如何从图像边缘上提取出N个点,使这N个点最具有...
    图像边缘含有图像形状的丰富信息,然而,图像边缘有时所含的像素点还是太多,很多情况下需要继续精简(比如,使用 ShapeContext 进行形状匹配),于是就出现一个问题:如何从图像边缘上提取出N个点,使这N个点最具有代表性呢?一个很直观的思路是:

    (1)这N个点要在图像边缘上;

    (2)最近邻的两点之间要尽量分散开。

    如,图像为:

    image

     

    需要设计一个采样算法,使它得到下面的结果:

    image

     

    ==== 实现 ====

    1,将图像加载,转换为ImageU8类(参见《发布我的高性能纯C#图像处理基本类,顺便也挑战一下极限。:)》),方便下一步处理。

    2,获得全部边缘像素的位置。

    在《重新认识C#: 玩转指针》的一文基础上新添加一个扩展方法:

    ExpandedBlockStart.gifForEach
    1 public unsafe delegate void ActionOnPosition(Int32 x, Int32 y, TPixel* p);
    2 public unsafe static void ForEach(this UnmanagedImage<TPixel> src, ActionOnPosition handler)
    3 {
    4     Int32 width = src.Width;
    5     Int32 height = src.Height;
    6 
    7     TPixel* p = (TPixel*)src.StartIntPtr;
    8     for (Int32 r = 0; r < height; r++)
    9     {
    10         for (Int32 w = 0; w < width; w++)
    11         {
    12             handler(w, r, p);
    13             p++;
    14         }
    15     }
    16 }

     

     假设灰度值>0的点是边缘点,通过下面的两行代码就可以取得所有的边缘点:

    1 List<Point> points = new List<Point>();
    2 img.ForEach((x, y, p) => { if (*p > 0) points.Add(new Point(x, y)); });

     

    简洁吧!

    3,随机抽样

    这一步参考了Jitendra Malik的实现,下面是他的matlab代码:

    ExpandedBlockStart.gifmatlab
    1 function [xi,yi,ti]=get_samples_1(x,y,t,nsamp);
    2 % [xi,yi,ti]=get_samples_1(x,y,t,nsamp);
    3 % 
    4 % uses Jitendra's sampling method
    5 
    6 N=length(x);
    7 k=3;
    8 Nstart=min(k*nsamp,N);
    9 
    10 ind0=randperm(N);
    11 ind0=ind0(1:Nstart);
    12 
    13 xi=x(ind0);
    14 yi=y(ind0);
    15 ti=t(ind0);
    16 xi=xi(:);
    17 yi=yi(:);
    18 ti=ti(:);
    19 
    20 d2=dist2([xi yi],[xi yi]);
    21 d2=d2+diag(Inf*ones(Nstart,1));
    22 
    23 s=1;
    24 while s
    25    % find closest pair
    26    [a,b]=min(d2);
    27    [c,d]=min(a);
    28    I=b(d);
    29    J=d;
    30    % remove one of the points
    31    xi(J)=[];
    32    yi(J)=[];
    33    ti(J)=[];
    34    d2(:,J)=[];
    35    d2(J,:)=[];
    36    if size(d2,1)==nsamp
    37       s=0;
    38    end
    39 end

     

    这段代码原理是:检查全部点对的距离,每次去除距离最小的点对中的一个点,直至剩下的点的数量达到要取样的点的数量N。如果点的总量M>>N,这样的操作是很费时间的,为了减少计算量,当M>>N时,随机取3N个点,对这3N个点进行操作即可。需要说明的是,即使M<3N,在具体抽样之前,也需要对样本进行随机打乱,这样才能使得后面删除点对中的某一个点这一行为具有随机性,不然的话,一条直线上的点恐怕会删的只剩尾部一个点。

    下面是我的实现,实现方法和Jitendra Malik的略有不同,Jitendra Malik是使用矩阵来计算的,我使用List来计算:

    ExpandedBlockStart.gifRandomUniformSample
    1 public static List<Point> RandomUniformSample(List<Point> srcList, Int32 count)
    2 {
    3     List<Point> resultList = new List<Point>(count);
    4     Int32 numNeedRemoved = srcList.Count - count;
    5     if (numNeedRemoved < 1)
    6     {
    7         resultList.AddRange(srcList);
    8         return resultList;
    9     }
    10 
    11     // 将序列随机打乱。RandomPermute是扩展方法。
    12     srcList.RandomPermute();
    13 
    14     // 如果srcList的数量巨大,则随机抽取部分点。由于上面已经随机大乱了,使用GetRange方法便可。
    15     if (srcList.Count > count * 3)
    16     {
    17         srcList = srcList.GetRange(0, count * 3);
    18         numNeedRemoved = srcList.Count - count;
    19     }
    20 
    21     // mask 记录点的删除状况。若位于mask[i]=1,则代表第i个点未被删除,若为0,则代表已删除
    22     Int32[] mask = new Int32[srcList.Count];
    23     for(int i=0; i < mask.Length; i++)
    24     {
    25         mask[i] = 1;
    26     }
    27 
    28     // 计算全部点对,并计算距离的平方
    29     List<PairDistance> list = new List<PairDistance>(srcList.Count*(1 + srcList.Count/2));
    30     for (int i = 0; i < srcList.Count; i++)
    31     {
    32         for (int j = i + 1; j < srcList.Count; j++)
    33         {
    34             Point p0 = srcList[i];
    35             Point p1 = srcList[j];
    36             Int32 deltaX = p0.X - p1.X;
    37             Int32 deltaY = p0.Y - p1.Y;
    38             list.Add(new PairDistance{ Index0 = i, Index1= j, DistanceSquare = deltaX*deltaX + deltaY * deltaY});
    39         }
    40     }
    41 
    42     // 进行排序
    43     list.Sort();
    44 
    45     // 遍历list,直至足够的点被移除
    46     int startIndex = 0;
    47     while (numNeedRemoved > 0)
    48     {
    49         PairDistance pair = list[startIndex];
    50 
    51         // 如果点对的两点均未被移除,则将其中一点移除。
    52         if (mask[pair.Index0] != 0 && mask[pair.Index1] != 0)
    53         {
    54             mask[pair.Index1] = 0;
    55             numNeedRemoved--;
    56         }
    57         startIndex++;
    58     }
    59 
    60     // 根据mask中的记录,得到全部采样点
    61     for (int i = 0; i < mask.Length; i++)
    62     {
    63         if (mask[i] == 1) resultList.Add(srcList[i]);
    64     }
    65     return resultList;
    66 }

     

    其中:

    ExpandedBlockStart.gifPairDistance
    1 private class PairDistance : IComparable<PairDistance> 
    2 {
    3     public Int32 Index0 {get;set;}
    4     public Int32 Index1 { get; set; }
    5     public Int32 DistanceSquare { get; set; }
    6 
    7     #region IComparable<PairDistance> Members
    8 
    9     public int CompareTo(PairDistance other)
    10     {
    11         return DistanceSquare.CompareTo(other.DistanceSquare);
    12     }
    13 
    14     #endregion 
    15 }

     

     

    ExpandedBlockStart.gifRandomPermute
    1 public static void RandomPermute<T>(this IList<T> data)
    2 {
    3     int count = data.Count;
    4     for (int i = 0; i < count; i++)
    5     {
    6         int index0 = Random.Next(0, count - i);
    7         int index1 = count - i - 1;
    8         T tmp = data[index0];
    9         data[index0] = data[index1];
    10         data[index1] = tmp;
    11     }
    12 }

    转载于:https://www.cnblogs.com/sunleecn/archive/2011/11/17/2252704.html

    展开全文
  • 空间采样:空间坐标的离散化。 灰度量化:灰度的离散化。 采样:... ... 量化:对象素赋予G个级别灰度值的过程。(对灰度级离散) 图像空间分辨率(采样)N:随着空间分辨率的下降图像会出现马赛克效果。 图像...

    灰度:用黑色为基准色,不同的饱和度的黑色来显示图像。


    空间采样:空间坐标的离散化。

    灰度量化:灰度的离散化。


    采样:... ...

    量化:对象素赋予G个级别灰度值的过程。(对灰度级离散)


    图像空间分辨率(采样)N:随着空间分辨率的下降图像会出现马赛克效果。

    图像幅度分辨率(灰度级)k:随着幅度分辨率的下降会出现“虚假轮廓效应”。一般出现在过渡比较平滑的区域。


    1、图像质量一般随N和k的增加而增加。在极少情况下对固定的N,减少k能改进质量。最有可能是减少k常可增加图像看起来的反差(对比度增加 )——二值化处理。

    2、对具有大量细节的图像常只需很少的灰度级数就可较好地表示——人眼分辨率能力有限。

    3、 b(存储一幅图像所需的位数bit:b = M x N x k)为常数的一系列图像主观看起来可以有较大的差异——采样和灰度级之间存在某种合理的分配。


    非均匀量化

    非均匀量化

    锥形量化

    展开全文
  • 非均匀量化的优点

    2018-11-08 16:18:37
    非均匀量化的优点: ① 在非均匀量化时,量化间隔...② 非均匀量化时,信号抽样值与量化噪声功率的均方根值成正比,也就是在信号抽样值越小,其量化噪声功率的均方根值越小,其信噪比越大,所以非均匀量化在处理...

     

    非均匀量化的优点:

    ① 在非均匀量化时,量化间隔和信号抽样值大小有关,抽样值越大,其量化间隔越大,抽样值越小,其量化间隔越小。这样当输入非均匀量化器的信号具有非均匀分布的概率密度的时候,非均匀量化器的输出端得到的平均信号量化噪声功率比较高。

    ② 非均匀量化时,信号抽样值与量化噪声功率的均方根值成正比,也就是在信号抽样值越小,其量化噪声功率的均方根值越小,其信噪比越大,所以非均匀量化在处理小信号时,可以得到较好的量化信噪比。而在均匀量化中,量化误差的最大瞬时值等于量化间隔的一半,这对于小信号来说可能会比较大,因此小信号并不适合均匀量化,而是适合非均匀量化。

     

    展开全文
  • 图像数字化:采样和量化(均匀非均匀) - 3.灰度直方图的概念、性质和应用 - 4.图像处理的几种算法形式:局部处理(对比分析 点处理、局部处理、大局处理或全局处理);迭代处理;跟踪处理;窗口处理和模板处理...
  • 1、图像数字化一般采用均匀采样和均匀量化方式。 均匀采样,即等间隔采样。当对采样点数目有所限制时,比如说N×N个采样点,此时可以根据图像的特性采用自适应采样方案,有可能获得更好的效果。 自适应采样方案...
  • 图像边缘含有图像形状的丰富信息,然而,图像边缘有时所含的像素点还是太多,很多情况下需要继续精简(比如,使用 ShapeContext 进行形状匹配),于是就出现一个问题:如何从图像边缘上提取出N个点,使这N个点最具有...
  • 通过学习采样和量化获取图像的方法,将图像转换为数字形式并进行相应的采样和量化变换,观察图像的变化情况,加深对于采样和量化的理解,并学会如何将彩色图转化为灰度图和二值图。 二、实验内容 1、用matlab编写...
  • 图像的各种采样方法

    2015-04-22 22:26:26
    2048HZ对信号来说是过采样了,事实上只要信号不混叠就好(满足尼奎斯特采样定理),所以可以对过采样的信号作抽取,即是所谓的“降采样”。在现场中采样往往受具体条件的限止,或者不存在300HZ的采样率,或调试非常...
  • 数字图像处理基础

    2019-06-20 11:12:47
    采样分为均匀采样和量化、非均匀采样和量化。(图像采集就是将一张图像通过离散处理成由X*Y个网格组成的图像,可以说是分辨率) 图像量化: 采样后获得的采样图像虽然在空间分布上是离散的,但在各像素的取值...
  • 数字图像处理笔记01

    2017-01-19 20:34:08
    图像及其数字处理01图像的表示 二维图像的成像过程​ 反射光或发射光线→\to成像系统 →\to 成像平面 →\to 输出图像 数字图像的基本要素像素(pixel):数字图像的基本单位 ...特殊情况下也采用非均匀采样 数学表示二
  • 基础知识储备 采样;就是把一幅连续图像在空间上分割成M×N个网格,每个网格用一亮度值来表示。一个网格称为一个像素。M×N的取值满足采样定理。...此数字矩阵M×N就作为计算机处理的对象了。灰度级一般为0-25...
  • Syntax cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) → dst interpolation 选项 所用的插值方法 INTER_NEAREST 最近邻插值 INTER_LINEAR ... 它可能是图像抽取的首选方法,因为它
  • 1.数字图像处理及特点 数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程,以提高图像的实用性,从而达到人们所要求的预期结果。 2.数字图像处理的主要研究内容 ...
  • 图像采样和量化

    2017-01-02 23:57:46
    采样和量化 图像的获取(数字化)是通过传感器完成的,获取包含采样和量化两个过程 采样是对现实空间场景(坐标的)离散化形成数字化表示的过程。(也就是用空间上部分点的灰度值代表图像,这些点称为采样点。)...
  • 刚开始认真接触数字图像处理,来了解一下数字图像处理的一个特别大体的框架。 1. 概论 数字图像处理的主要内容: 1⃣️ 图像获取、表示和表现;2⃣️ 图像复原;3⃣️ 图像增强; 4⃣️ 图像分割;5⃣️ 图像...
  • 图像采样与量化

    2020-04-05 16:02:06
    为了使图像能够在计算机上进行处理, 需要将图像转换成数字图像,这一过程也叫作图像的数字化,如图所示: 采样 图像的数字化首先要进行的是采样采样就是把在时间上和空间上连续的图像转换成为离散的采样点(即...
1 2 3 4 5 ... 20
收藏数 8,430
精华内容 3,372