1701008785
针对这个问题,每一个用户各有见解,然后人的眼睛观察再仔细,都比不上计算机的进行搜索式对比,游戏设定了时间限制,因此采用人眼进行图像找茬,未免存在缺陷,以下采用计算机进行模拟。
1701008786
1701008787
如图7-1和图7-2所示,两张图像很明显,就是车站的差异,因此人眼和计算机相比,在这个图像中人眼肯定快得多,当采用MATLAB程序模拟程序如下:
1701008788
1701008789
clc,clear,close all %清屏和清除变量 warning off %消除警告 a1=imread(‘1.png’); a1 =imresize(a1,[512 512]); %图像压缩尺寸到512*512 a2=imread(‘2.png’); a2 =imresize(a2,[512 512]); %图像压缩尺寸到512*512 a3=imsubtract(a2,a1); %连续两帧图像做差 figure,imshow(a3); %显示图像
1701008790
1701008791
1701008792
1701008793
图7-1 待测图像1 图7-2 待测图像2 运行程序输出图像如图7-3所示。
1701008794
1701008795
1701008796
1701008797
1701008798
图7-3 计算机找茬
1701008799
1701008800
采用计算机找茬,用户也能够实现找出茬点所在的位置。
1701008801
1701008802
然而对于比较小的图像,或者是特征不太明显时,计算机相对人眼表现更优,具体的图像如图7-4所示。
1701008803
1701008804
1701008805
1701008806
1701008807
图7-4 找茬图像组
1701008808
1701008809
编程MATLAB程序如下:
1701008810
1701008811
clc,clear,close all %清屏和清除变量 warning off %消除警告 a = imread(‘3.jpg’); %读图 figure,imshow(a) %显示图像 a1=a(1
:300,1:floor(785/2),
:); %图像1 a2=a(1
:300,floor(785/2)+2
:end,:); %图像2 a3=imsubtract(a2,a1); %连续两帧图像做差 a4 = imsubtract(a1,a2); %连续两帧图像做差 a5 = a3+a4; figure,imshow(a5);
1701008812
1701008813
运行程序输出图像如图7-5所示。
1701008814
1701008815
1701008816
1701008817
1701008818
图7-5 找茬结果
1701008819
1701008820
如图7-5所示可知,采用人眼进行一一查找将显得比较困难,因此计算机仿真带给人们很大的辅助作用,21世纪最伟大的发明之一当属电脑。
1701008821
1701008822
同样采用计算机进行找茬如图7-6和图7-7所示。
1701008823
1701008824
1701008825
1701008826
图7-6 找茬图像组 图7-7 找茬结果 然而计算机找茬对于两张受测图像位置对应关系要求很高,如果像素位置有偏差,则计算机找茬将出现不可识别的结果,用户也很难从识别结果中找到不同之处。如图7-8所示为受测图像,如图7-9所示为找茬结果。
1701008827
1701008828
1701008829
1701008830
图7-8 找茬图像组 图7-9 找茬结果 如图7-9所示,当两幅图像位置像素有偏差时,计算机找茬结果无法使用,此时采用人眼效果更加,因此计算机仿真也有其弊端。人眼进行找茬,可以简单的忽略一定的位置偏差,而计算机则不行。
1701008831
1701008832
1701008833
1701008834
[
上一页 ]
[ :1.701008785e+09 ]
[
下一页 ]