互相关法是最基本的基于灰度统计的图像配准的方法,通常被用于进行模板匹配和模式识别。它是一种匹配度量,通过计算模板图像和搜索窗口之间的互相关值,来确定匹配的程度,互相关值最大时的搜索窗口位置决定了模板图像在待配准图像中的位置。
设A图像为参考图像或基准图像,表示为 ,B为要进行校正后与A配准的图像,表示为 ,在A图像中选择几块包含特征信息丰富的小区域 作模板 ,在 图像重叠部分选择一个重叠区域作为模板的搜索区域 ,并使得 ,即 ,如图14-3所示。然后把每一个模板 放在与其对应的搜索区中,通过两者的相对移动,在逐行逐列的每个位置上,计算 与其覆盖的搜索区 中那部分之间的相似性,产生出表明两者相似程度最大的函数值的位置 。设在待配准图像B搜索到的相似区域为 ,再以 为模板,再用同样的方法在参考图像中去搜索相似程度最大的函数值的区域 ,设定一个阈值Z,如果 ,则认为 和 重合,B图像中的位置 就是B图像与A图像 相匹配的位置;反之,则认为特征区域匹配不正确,即伪匹配。 两幅图像之间的相似度评测标准,可以采用不同的方法,主要有下面三种:
14-3 模板匹配示意图 图
Fig14-3 Sample image of template matching
A 均方和
(14-7)
B 兰氏距离
(14-8)
C归一化标准相关系数
(14-9)
其中,在定义式中,
表示的是模板子图像中第 行和第 列的像素的灰度值;
是匹配图像中参考点 处的参考子图像上的第 行和第 列的像素的灰度值;
和 分别代表两个子图像内像素灰度的均值;
而定义式的左边各自代表模板子图像 和另一个图像中的参考点 处的子图像 的相似性测度。
这三个公式中,前两个的极小值代表了可能的匹配位置,后一个公式的极大值代表了可能的匹配位置。其它的一些评测标准都是由这些基本的评测标准引申出来的。如相关系数和标准相关系数都是归一化标准相关系数的简化形式,从本质上都是相同的。
序贯相似度检测匹配法(SSDA)
序贯相似度检测匹配法(Sequential Similarity Detection Algorithms,SSDA)是由Barnea等人提出来的。SSDA方法的最主要的特点是处理速度快。该方法先选择一个简单的固定门限T,若在某点上计算两幅图像残差和的过程中,残差和大于该固定门限T,就认为当前点不是匹配点,从而终止当前的残差和的计算,转向别的点去计算残差和,最后认为残差和增长最慢的点就是匹配点。 这种方法的基本思想是基于对误差的积累进行分析。所以对于大部分非匹配点来说,只需计算模板中的前几个像素点,而只有匹配点附近的点才需要计算整个模板。这样平均起来每一点的运算次数将远远小于实测图像的点数,从而达到减少整个匹配过程计算量的目的。
在SSDA算法中,参考图像与待配准图像之间的相似度评测标准是通过函数 来度量的,公式如下:
(14-10)
其中残差和 ,坐标是从待配准图像中,随机抽取得到的非重复的点坐标序列。 越大,表示误差增长越慢,即两幅图像越相似。这种方法的关键是阈值T的选择,它不仅影响到算法的运算速度,同时还影响到算法的匹配精度。 交互信息法最初是Viola等人于1995年把交互信息引入到图像配准的领域的,它是基于信息理论的交互信息相似性准则。初衷是为了解决多模态医学图像的配准问题。
交互信息用来比较两幅图像的统计依赖性。首先将图像的灰度视作具有独立样本的空间均匀随机过程,相关的随机场可以采用高斯—马尔科夫随机场模型建立,用统计特征及概率密度函数来描述图像的统计性质。交互信息是两个随机变量A和B之间统计相关性的量度,或是一个变量包含另一个变量的信息量的量度。
交互信息 是用A和B的个体熵 和 和联合熵 来表示:
(14-11)
其中:
这里 分别为随机变量A和B的边缘概率密度; 为两个随机变量的联合概率密度分布。交互信息用于图像配准的关键思想是:如果两幅图像达到匹配,它们的交互信息达到最大值。在图像配准应用中,通常联合概率密度和边缘概率密度可以用两幅图像重叠区域的联合概率直方图和边缘概率直方图来估计,或者用Parzen窗概率密度估计法来估计,从而来计算交互信息。
交互信息图像配准方法一经提出,有不少基于此类的研究,尤其在医学图像的配准问题上。比如将交互信息和梯度结合起来改善其极值性能的算法、多分辨率图像金字塔法等等。但交互信息是建立在概率密度估计的基础上的,有时需要建立参数化的概率密度模型,它要求的计算量很大,并且要求图像之间有很大的重叠区域,由此函数可能出现病态,且有大量的局部极值。
软件:
启动Gel-Pro Analyzer,依次选择:"文件" > "打开" > "目标文件"
工具栏选择 "1D-凝胶分析" > "显示凝胶分析工具"
11 在d出的工具栏中,"选择" >"泳道识别" > "添加泳道"
如果泳道宽度不能很好匹配条带的宽,可以手动设置条带的宽度(尝试几次)。
此时匹配的泳道过长,需手动调整到合适的范围;
12 带识别
添加泳道的同时,软件会自动识别条带,而识别往往并不精确,需要手动设置,。
选择 "带识别" > "删除带"
单击泳道将识别带一一删除(红色短线表示主带的位置);
然后,选择 "增加带",依次在目的条带位置单击;结果如下:
图中的1就是增加带的主带位置,2/3分别是蓝框的左右边界线。
调整后的图形,蓝色线框应该互补重叠,互不干扰。
13 数据导出:
"泳道曲线" > "文件" > "图形拷贝到剪切板"(导出灰度)
"文件" > "打印图形" , 以PDF文件存储(注意调整的方向和长宽比例)
点击 "结果",将给出灰度的结果
如果按照上面给出的数据,显然计算起来不是很准确。这时候需要用到ImageJ
21 "file" > "Open" > picture
选择"矩形选框"
22 框选图中条带,"Analyze" > "Gels" > "Set the First Lane"(快捷键Ctrl + 1)
移动选框至第二个区域(小手指是更改选框大小,箭头是移动选框)
"Analyze" > "Gels" > "Set the Second Lane" (快捷键Ctrl + 2)
如果是最后一个,则选择"Ctrl + 3",会自动d出所选区域图形的峰图
23 然后放大图形会看到局部并不是闭合状态的,所以需要用直线工具添加直线,使其闭合。然后直线工具,以一端为顶点做直线封闭峰图。
24 选择魔术棒工具,点击封闭的区域,直接d出对应的值,据此可以计算相对含量的多少。
延伸:
24位色位图,一个像素是用3个字节表示,每个字节分别表示R、G、B通道的值(红绿蓝)、组合成实际颜色。
这段程序就是遍历像素点,每种颜色按权值运算,转换为1个字节的灰度值(256级灰度),关键就是这句:
buf2[x] = (BYTE)(011buf[i] + 059buf[i+1] + 030buf[i+2]);
不同灰度图像文件有各自的文件格式和色彩格式(颜色指数格式,如GIF, 颜色值格式,归一化颜色值)你需要自己处理,这里不可能给你写一个万能程序。
r g b灰度 合成 RGB。 字节排列 可能 是 RGB 也可能是 BGR,也可能 还要 带 A。
下面提供你合成基本原理,针对自己情况 改写。
unsigned char r=0xff,g=0x80,b=0x40; //灰度值为1字节无符号数,数值0到0xff
unsigned int rgb; // 合成 为 4 字节, ARGB
rgb = r << 16 | g << 8 | b; // 用 位运算 ,移位和按位加
printf("%x ",rgb);
对每个像素 作循环 计算即可。
1
python中对图像进行处理和数学计算需要导入以下几个库,代码如下: importmatplotlibpyplotaspltimportcv2importnumpyasnp
2
获取图像并以RGB格式读取,图像的通道顺位BGR,示例如下: img=cv2imread('imgpathjpg')# 括号内的参数需要换成的路径
3
使用uint8的数据格式并以RBG顺序将显示出来,代码如下 pltfigure(figsize=(15,10)) pltimshow(cv2cvtColor(imgastype(npuint8), cv2COLOR_BGR2RGB)) pltshow()
4
显示出来后就可以将图像的灰度进行计算处理,并对进行灰度的
正常。炫舞游戏中,灰度期间的意思是指游戏更新的时候,可能会对服务器分批进行,未更新的服务器属于灰度期,无法进行匹配,已更新的服务器属于非灰度期,通常灰度期一般在一到两天更新完成后就会结束。
佳能2900打印机的手动灰度设置调出来的方法是:
1、安装佳能2900打印机的打印程序后,可在打印设备打印首选项里将纸张或者质量里的颜色设置为黑白色;
2、若无法选择黑白打印,则需要将在打印前,用图像编辑软件转换为黑白,准确说是转换为灰度,然后进行打印即可。
%
% 图像检索——纹理特征
%基于共生矩阵纹理特征提取,d=1,θ=0°,45°,90°,135°共四个矩阵
%所用图像灰度级均为256
%参考《基于颜色空间和纹理特征的图像检索》
%function : T=Texture(Image)
%Image : 输入图像数据
%T : 返回八维纹理特征行向量
%
function T = Texture(path)
Image = imread(path);
% [M,N,O] = size(Image);
M = 256;
N = 256;
if isrgb(Image)%判断是否是RGB
Gray=rgb2gray(Image);
end
%--------------------------------------------------------------------------
%1将各颜色分量转化为灰度
%--------------------------------------------------------------------------
%Gray = double(03Image(:,:,1)+059Image(:,:,2)+011Image(:,:,3))
%--------------------------------------------------------------------------
%2为了减少计算量,对原始图像灰度级压缩,将Gray量化成16级
%--------------------------------------------------------------------------
for i = 1:M
for j = 1:N
for n = 1:256/16
if (n-1)16<=Gray(i,j)&Gray(i,j)<=(n-1)16+15
Gray(i,j) = n-1;
end
end
end
end
%--------------------------------------------------------------------------
%3计算四个共生矩阵P,取距离为1,角度分别为0,45,90,135
%--------------------------------------------------------------------------
P = zeros(16,16,4);
for m = 1:16
for n = 1:16
for i = 1:M
for j = 1:N
if j
P(m,n,1) = P(m,n,1)+1;
P(n,m,1) = P(m,n,1);
end
if i>1&j
P(m,n,2) = P(m,n,2)+1;
P(n,m,2) = P(m,n,2);
end
if i
P(m,n,3) = P(m,n,3)+1;
P(n,m,3) = P(m,n,3);
end
if i
P(m,n,4) = P(m,n,4)+1;
P(n,m,4) = P(m,n,4);
end
end
end
if m==n
P(m,n,:) = P(m,n,:)2;
end
end
end
%%---------------------------------------------------------
% 对共生矩阵归一化
%%---------------------------------------------------------
for n = 1:4
P(:,:,n) = P(:,:,n)/sum(sum(P(:,:,n)));
end
%--------------------------------------------------------------------------
%4对共生矩阵计算能量、熵、惯性矩、相关4个纹理参数
%--------------------------------------------------------------------------
H = zeros(1,4);
I = H;
Ux = H; Uy = H;
deltaX= H; deltaY = H;
C =H;
for n = 1:4
E(n) = sum(sum(P(:,:,n)^2)); %%能量
for i = 1:16
for j = 1:16
if P(i,j,n)~=0
H(n) = -P(i,j,n)log(P(i,j,n))+H(n); %%熵
end
I(n) = (i-j)^2P(i,j,n)+I(n); %%惯性矩
Ux(n) = iP(i,j,n)+Ux(n); %相关性中μx
Uy(n) = jP(i,j,n)+Uy(n); %相关性中μy
end
end
end
for n = 1:4
for i = 1:16
for j = 1:16
deltaX(n) = (i-Ux(n))^2P(i,j,n)+deltaX(n); %相关性中σx
deltaY(n) = (j-Uy(n))^2P(i,j,n)+deltaY(n); %相关性中σy
C(n) = ijP(i,j,n)+C(n);
end
end
C(n) = (C(n)-Ux(n)Uy(n))/deltaX(n)/deltaY(n); %相关性
end
%--------------------------------------------------------------------------
%求能量、熵、惯性矩、相关的均值和标准差作为最终8维纹理特征
%--------------------------------------------------------------------------
T(1) = mean(E); T(2) = sqrt(cov(E));
T(3) = mean(H); T(4) = sqrt(cov(H));
T(5) = mean(I); T(6) = sqrt(cov(I));
T(7) = mean(C); T(8) = sqrt(cov(C));
以上就是关于图像配准的灰度信息全部的内容,包括:图像配准的灰度信息、电泳条带灰度定量分析及图形展示、关于vc将图片进行灰度化的程序原理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)