基于灰度的模板匹配算法(三):划分强度一致法(PIU)

简介:

前面几篇文章介绍了一些比较基本的基于灰度的图像配准算法:

基于灰度的模板匹配算法(一):MAD、SAD、SSD、MSD、NCC、SSDA、SATD算法 

基于灰度的模板匹配算法(二):局部灰度值编码 

基于互信息的图像配准算法:MI、EMI、ECC算法 

本文将介绍一种类似的相似度测量算法,叫做划分强度一致法(Partitioned Intensity UniformityPIU)。

PIU算法:

        1992年,Woods提出了基于划分强度一致的MR-PET图像配准。在医学图像中,同一组织结构在不同的模态下灰度值是不同的。比如骨骼组织在CT图像中灰度值高,在MRI图像中灰度值偏低。

定义:

PIU测度的基本理念是:同一组织在不同模态下的灰度分布具有某种一致性。换句话说,一种模态下的某个灰度值的像素在另一种模态中是以一个不同的灰度值为中心的分布。

PIU测度的表达式定义为:

其中,N为模板中像素总个数,也就是模板行列数的乘积。分别表示模板和子图中灰度为rf的像素个数。表示搜索图中的某个子图。

表示模板R中灰度值为r的像素在子图中对应位置上像素灰度值之和。其他式子也是同样的道理。

实例验证:

MATLAB代码:

%//划分强度一致法(Partitioned Intennsity Uniformity, PIU)
%%//-------------------------------------------------------
clear all;
close all;
img=rgb2gray(imread('lena.jpg'));
[img_rows img_clos]=size(img);%//搜索图尺寸
x0=40;y0=30;len=64;
R=img(x0:x0+len-1,y0:y0+len-1);%//取一部分作为模板
figure;imshow(R);title('模板');
[rows clos]=size(R);%//模板尺寸
N=rows*clos;
%%//-------------------------------------------------------
uFr=zeros(256,1);uRf=zeros(256,1);
dFr=zeros(256,1);dRf=zeros(256,1);
a=zeros(256,1);b=zeros(256,1);
piu=zeros(img_rows-len,img_clos-len);
for i=1:img_rows-len
    for j=1:5:img_clos-len
        S=img(i:i+len-1,j:j+len-1);%//子图
        for r=0:255
            pos=find(R==r);
            nr=size(pos,1)+eps;%//参考图像中灰度值为r的像素个数
            value1=S(pos);
            uFr(r+1,1)=sum(value1)/nr;%//R中像素为r的位置处,对应S上的像素点均值
            t1=double(S(pos))-uFr(r+1,1);
            dFr(r+1,1)=sum(t1.^2)/nr;

            pos=find(S==r);
            nf=size(pos,1)+eps;%//参考图像中灰度值为r的像素个数
            value2=R(pos);
            uRf(r+1,1)=sum(value2)/nf;
            t2=double(R(pos))-uRf(r+1,1);
            dRf(r+1,1)=sum(t2.^2)/nf;

            a(r+1,1)=(nr*dFr(r+1,1))/(N*uFr(r+1,1)+eps);
            b(r+1,1)=(nf*dRf(r+1,1))/(N*uRf(r+1,1)+eps);
        end
        piu(i,j)=sum(a)+sum(b);
    end
end
%%//-------------------------------------------------------
piu_min=min(min(piu));
[y,x]=find(piu==piu_min);
x=x-1;y=y-1;
figure;imshow(img);hold on;
rectangle('position',[x,y,len-1,len-1],'edgecolor','r');
title('搜索结果');hold off;
%over

输出结果:

参考文献:

1、张娟.医学图像配准中相似性测度的研究[M],2014.

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2025-01-02 09:47:39

基于灰度的模板匹配算法(三):划分强度一致法(PIU)的相关文章

基于灰度的模板匹配算法(一):MAD、SAD、SSD、MSD、NCC、SSDA算法

简介: 本文主要介绍几种基于灰度的图像匹配算法:平均绝对差算法(MAD).绝对误差和算法(SAD).误差平方和算法(SSD).平均误差平方和算法(MSD).归一化积相关算法(NCC).序贯相似性算法(SSDA).下面依次对其进行讲解. MAD算法 介绍 平均绝对差算法(Mean Absolute Differences,简称MAD算法),它是Leese在1971年提出的一种匹配算法.是模式识别中常用方法,该算法的思想简单,具有较高的匹配精度和较少的计算量,广泛用于图像匹配. 设S(x,y)是大小

基于灰度的模板匹配算法(二):局部灰度值编码

简介 在上一篇文章: 基于灰度的模板匹配算法(一):MAD.SAD.SSD.MSD.NCC.SSDA算法中,介绍了几种典型的模板匹配算法,但此类算法都存在时间复杂度高,对图像尺寸敏感等问题,即便是SSDA这样的优化算法复杂度也是很高的. 本文将介绍一种新的算法,叫做局部灰度值编码算法,它通过对灰度值编码来进行粗匹配,再用相位相关法进行精匹配. 算法介绍 粗匹配 与上一篇文章的假设相似,这里搜索图尺寸为MxM,模板T的尺寸NxN,模板T在搜索图S上滑动,滑动的上.下步长都为N(一个模板尺寸),也就

基于金字塔的模板匹配算法

在目标检测过程中,常用的方法就是设置一个模板,以滑动窗口的形式遍历整幅源图像(待检测的图像):每次滑动都会产生一个和模板等大小的ROI图像,基于某种度量方式,计算模板与当前ROI图像的相似性度量值.这样遍历完整幅图像后就会形成一个图像,找出最大值对应的位置(x,y),它就是我们要寻找的目标的位置. 上面是模板匹配大致的步骤,当源图像很大,遍历完整幅图像很耗时,故提出了基于金字塔的模板匹配方法,下面是该方法涉及到几点: (1) 设置金字塔层数nLevels,创建源图像和模板图像对应的nLevels

基于边界的模板匹配的原理及算法实现

最近被Halcon中的基于边缘的模板匹配算法吸引到了,故找到了一点点学习资料,供同行参阅,水平有限,大家多包含.本文算法很初级,做入门了解用.原文是英文,所以把原文copy 过来了,另加了一些中文.算法运行效果如下: [效果还行,只是原理性示意,不要要求太高了哦] Introduction Template matching is an image processing problem to find the location of an object using a template imag

基于HALCON的模板匹配方法总结 (转)

很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间.去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop的形状匹配算法的参数优化进行了研究,写了一篇<基于HDevelop的形状匹配算法参数的优化研究>文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度,这篇paper放到了中国论文在线了,需要可以去下载. 德国MVTec公司开发的HALCON机器视觉开发软件,提供了许多的功能,在这里我主

JS组件系列——基于Bootstrap Ace模板的菜单Tab页效果优化

前言:之前发表过一篇  JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果分享(你值得拥有) ,收到很多园友的反馈,当然也包括很多诟病,因为上篇只是将功能实现了,很多细节都没有处理,这篇博主将带领大家一起来优化这里的效果,使之成为一个可以在项目里面使用的成品. 说点题外话,本来,在互联网模式下,Tab页+iframe的组合是不能被大多数平台接受的,从这些年推出的一些好的产品可以看出,几乎大家都不这么玩,即使是一些后台的管理模板,比如常见的AdminLTE.Ace.INSPIN

PrimeSense 三维重建开发小谈 (2) - 基于灰度特征的关系对配准算法

1 综述 与多点云处理有关的任务,点云的配准(Registration)是一个绕不开的问题.如何采用适当的算法,对特定的点云数据进行相对更优的配准,是点云配准过程中的关键任务. 配准结果通常被表达为一个代表缩放,旋转,平移的刚体变换的矩阵,该矩阵代表了两个点云的位置关系,即将其中一个点云(源点云,Source)施以这个刚体变换可以使它与另一个点云(目标点云,Target)配准. 图 1   目标点云(Target) 图 2   源点云(Source) 图 3   配准结果(该结果即通过本文所述的

基于Netty的聊天系统(三)协议定制----消息篇

今天我们继续来讨论协议,今天基本就把一对一聊天的协议定制完毕了,上一篇我们讲述了登录的过程,那么登录完毕就是聊天了,首先我们还是以A和B为例子,A发送消息给B,那么这条消息的的协议如下 发送消息协议: {"id":"xxxx","#":"msg","text":"内容","to":"接收用户ID","type":0,"

出位的template.js 基于jquery的模板渲染插件,简单、好用

找了好几款基于jquery的模板渲染插件,无一感觉很难用(教程较少.绑定不统一),也可能我智商问题,比如jquery template.js .jtemplate.js. 然后在github上找到这一款,和我在公司之前用的差不多(apicloud云端开发app,致敬[百小僧]大神封装的HUI,简化了在公司很多工作), 这款模板渲染和HUI的很相似,也比较简单  基于jquery的模板渲染插件. 附上github https://github.com/yanhaijing/template.js