目录
任务要求
图像拼接文件夹中包含“附件1”、“附件2”和“附件3”,其中“附件1”中包含的是权重为0.8的汉字碎片,“附件2”中是权重为0.8的英文碎片,“附件3”中是权重为1.0的汉字碎片。要求将所有图像碎片拼接为相应的完整图像。
实现原理
1)总体思路
要想实现图像碎片的拼接,首先需要明确各个碎片的相邻碎片。“附件1”和“附件2”中的碎片仅需考虑“左”、“右”两个方向的相邻碎片,而“附件3”中的碎片则需要考虑“上”、“下”、“左”、“右”四个方向。
由于相邻碎片的边缘向量间具有相似性,故考虑利用边缘向量的相似度来辨别相邻碎片,相似度越高,表明两张图片相邻的概率越高。经过试验,采用欧几里得距离和汉明距离时,效果均不理想,几乎无法起到辨别相邻碎片的作用,故最终采用余弦相似度来衡量边缘向量的相似程度,经检验,其在“附件1”和“附件2”上的辨别准确率为100%,可以满足本次任务的需要。
考虑到部分碎片边缘向量包含的信息过少,即碎片边缘空白过多时,可能导致不相邻的碎片间也具有较高的相似度,从而导致判别失误,同时图片的边界难以确定,程序难以在拼接到边界时停止,故采用人工干预的方式,以确保最终拼接结果的准确性。
为了减少计算量和便于处理,将原灰度图像转换成二值图像,此转换不影响文字类图片的质量,也不会影响拼接效果。
2)余弦相似度
余弦相似度,也称为余弦距离,是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,计算公式如公式(1)所示。
由于二值图像碎片边缘是包含0和1的向量,故可用其来衡量两个图像碎片边缘的相似程度,从而判断它们是否相邻。相对于欧式距离,余弦相似度具有显著的优势,因为即使两个相似的向量在欧几里德距离上相距甚远,它们之间也可能具有更小的夹角,即具有较高的相似度。
结果展示
“附件1”结果如图3所示,“附件2”结果如图4,“附件3”结果如图5所示。
图4:“附件2”结果
图5:“附件3”结果