vb查找相似图片

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:24:02
有一张图片a,同时有一个图片库B,图片库中图片都只有图片的一部分如何实现从图片库中找出与图片a相似图形?详情见下图:
自己想的办法是:先取得图片A所有的颜色点,同时图片库中也转换成颜色点,然后比较,如果可以,应该怎么弄?
如果图片A与图片库中图片大小都一样,把图片与图片库中图片都转换成点阵数数据可否实现?如何读取图片的点阵数据?

具体应该用到模糊判别。是一个比较专业的问题,你在这里提出应该没有人能回答你。

应用图像聚类.我们知道,彩色图像的数据可以看成一M*N*3的数组,但是一方面三维数组的处理速度要低于一维或二维数组,因此,用二维数组来描述要分割的对象不仅意义明显而且有利于计算速度的提高。图像数据在内存中的排列方式是BGRABRGABGRA.......(32位的),这样,通过API函数直接读取的数据一般为一(1 to 4,1 to M*N)数组,

如果想快速判别两个图片是否相同,可用如下方法:
Public Enum CompareResult

ciCompareOk

ciPixelMismatch

ciSizeMismatch

End Enum

Public Shared Function Compare(ByVal bmp1 As Bitmap, ByVal bmp2 As Bitmap) As CompareResult

'首先检查两副图片大小是否完全相等

If Not bmp1.Size.Equals(bmp2.Size) Then

Return CompareResult.ciSizeMismatch

Else

'把每个图片转成一字节数组

Dim ic As New System.Drawing.ImageConverter

Dim btImage1(1) As Byte

btImage1 = CType(ic.ConvertTo(bmp1, btImage1.GetType()), Byte())

Dim btImage2(1) As Byte