Dgital Image Processing hm2

来源:互联网 发布:淘宝情侣装店铺排名 编辑:程序博客网 时间:2024/06/07 16:37

  • T1
    • Description
    • Analysis
    • 具体实现
  • T2
    • Description

T1

Description

给定图像car.png和模版图像wheel.png,利用相关检测实现对car图像中的
wheel检测,具有最大相关值的位置可以解释为所检测到的wheel位置。程序的输入是图像和模版,要求:
(i)显示图像的相关值结果;
(ii)列出在图像中检测到的所有目标的(x,y)坐标。

Analysis

利用两幅图像的相关值来解决图像匹配的问题,因为把被匹配图像作为kernel,然后需要检测的图像作为pattern,相关可以用来检测和定位一个由kernel表示的pattern,被检测处pattern响应强。

具体实现

  1. 首先,把car和wheel两张图片读入进来,存储到两个矩阵中。
  2. 因为用imread函数都进来的矩阵都是uint8表示形式,相关操作的数值会比较大,容易溢出,所以把两个矩阵转换成double的表示形式。
  3. 可以选择用padding的方式对矩阵进行扩充,但由于这次的操作不是检测边缘,所以也可以不填充,直接用模板进行相关值计算操作。
  4. 相关值的计算公式为:
    G[i,j]=ku=kkv=kH[u,v]F[i+u.j+v]
    1. 因为相关值可能没有十分精确地反映真正的相关程度,所以,我们进行了归一化处理,利用:
      R[i,j]=(ku=kkv=kH[u,v]F[i+u.j+v])2(ku=kkv=k(H[u,v])2)×(ku=kkv=k(F[i+u.j+v])2)
    2. 然后把大于0.99的坐标筛选出来,以它为中心,按照wheel图像的大小尺寸,提取出匹配矩阵出来,然后再show出来。

(i)相关值结果保存在pdf中
(ii)x的坐标从107变化到127
y的坐标从139变化到161
这里写图片描述
提取出来的图像为:
这里写图片描述

T2

Description

这里写图片描述
(i)利用randi()函数随机产生两个不等的整数,把大的值赋值给t1(x,y),把小的值赋值给t2(x,y).
(ii)读入图像,根据要求,如果f(x,y)大于t1(x,y)就赋值为255,小于t2(x,y)就赋值为0,在两者中间就保持原来的值不变。
(iii)在添加了椒盐噪声的图像上,以3x3的窗口作中值滤波。首先在矩阵上tiquchu3x3的子矩阵,然后转换成一维的向量,直接用median函数取出中值,然后用此中值替换掉3x3窗口正中心的元素。不需要做padding,直接以3x3窗口的左上角对准矩阵的左上角开始。
(iv)这里写图片描述

原创粉丝点击