波函数:
与时间有关,量子力学中描述微观系统状态的函数是概率波。 其模的平方代表粒子出现在该处的概率密度:指某事件随机发生的概率,等于一个区间的概率除以区间的长度(反映该处附着物的密度) 某一点)。 在时间 T,可以在半径为 R 的球形空间(在一个区域中)中找到粒子的概率。
wave function collapse:
如果定义到我们的拼接图片中,就是我们是否可以在一个区域中找到另一张图片(wave function)与已有的图片进行拼接,如果可以的话就是一个 崩溃状态,没有它就无法崩溃。
波函数坍缩算法的步骤:
1. 读取输入的位置图(或根据图像处理方式,即提取图像的像素矩阵),得到若干个N×N大小的图案(将原图案旋转翻转定义新图案)
2。 创建一个列表来保存结果(这个列表可以称为波浪),其中的每个元素代表一个模式的状态。 state会存储为:一个boolean类型的系数与pattern一一对应,false表示对应的pattern被禁用,true表示pattern没有被禁用。
3. 要将列表初始化为不可观察状态,可以先将所有元素的布尔值设置为true。
4. 循环:
1)观察:从结果中找到一个元素,这个元素对应的熵相对于其他元素最小但不为0。 如果没有这个元素(熵值全为0,或者不能计算出熵值),那么这个循环就会被调用出去,直接进入下一步。 如果找到这样的元素,则可以根据系数和模式的分布将其折叠成具体状态。
2) Propagation:传播上一步得到的信息
5. 当第四步完成后,所有元素要么进入“可观测状态”(即只有一个系数为真,其余均为假),要么进入“矛盾状态”(所有系数均为假)。 这种情况意味着前者可以返回一个结果,而后者只能失败。
常规图片处理的思考:
对于所有导入的二维图片,提取其周围的像素点。 在Matlab中提取像素后,得到一个像素矩阵。 如果匹配到已知图片的右侧(面对图片),则可以提取已知图片对应的像素矩阵最右边行的数字,放在一个列向量中,然后最左边的行是其他图片 一个一个地提取行中的数字并放入列向量中,并计算两个矩阵的均方误差。 当该值满足要求时(给定一个误差值),选择熵值最低的进行匹配。
熵的计算方法:
权重:第i个图形出现的概率×第i个图片第n个状态的概率。 weight sum:所有权重的总和,初始值为1,随着选择图片的增多,该值会发生变化。 熵值的大小:简单的说,给定一张图片,如果要和它配对的图片可以和多张给定的图片配对,那么熵值就大,否则就小。
不规则图像的处理:
给定基本积木,积木颜色相同,则无法使用图像处理的方法。 在此基础上给出邻接规则,比如两个L不能相连,或者T的右边可以和+的左边相连,这些规则是手工输入数组或者数据库的。 Number:对输入数据库的形状进行编号,如T2,表示积木T的第二个形状。
为所有已知的积木创建4个数组,将匹配的积木输入到这4个中 阵列。 当给出一个积木块时,可以判断该积木块属于该数组,然后根据最小熵规则选择该积木块并将其放置在适当的位置。 例如创建一个N*N的节点网格,在中心放置一个已知的积木块,中心位置的索引为(N/2, N/2),则匹配积木块的索引位置为 (N/2 1,N/2)或(N/2-1,N/2)或(N/2,N/2 1)或(N/2,N/2-1)之一。 如果需要同时匹配两个关节点,选择熵最小的积木块,检查积木块是否在另一个数组中,熵值是否足够小。