apa*_*k61 5 flash image-processing actionscript-3
你知道有关在as3/flash中比较图像的任何来源或信息吗?
我想比较两个图像并检查图像是否相同.
查看此示例:http: //imageshack.us/photo/my-images/825/imagecompare.jpg/
有线索吗?先感谢您!
除了重复的答案之外,
我相信你也可以使用BitmapData.compare()
从链接中获取的示例,请考虑以下两个 BitmapData 对象:
var bmd1:BitmapData = new BitmapData(50, 50, true, 0xFFFF8800);
var bmd2:BitmapData = new BitmapData(50, 50, true, 0xCCCC6600);
var diffBmpData:BitmapData = bmd1.compare(bmd2) as BitmapData;
trace ("0x" + diffBmpData.getPixel(0,0).toString(16); // 0x332200
Run Code Online (Sandbox Code Playgroud)
代码示例(百分比差异):
不管结果有多正确,这就是我按照百分比酝酿的结果:
var bmd1:BitmapData = new BitmapData(225, 225);
bmd1.draw(mc1);
var bmd2:BitmapData = new BitmapData(225, 225);
bmd2.draw(mc2);
var diffBmpData:BitmapData = bmd1.compare(bmd2) as BitmapData;
var diff:int = 0;
var total:int = 225 * 225;
for(var i=0; i<225; i++)
for(var j=0; j<225; j++)
diff += (diffBmpData.getPixel(i,j) != 0)? 1 : 0;
info.text = Math.round((diff / total * 100)).toString();
Run Code Online (Sandbox Code Playgroud)
其中:info是文本框、mc1和mc2是舞台上的两个影片剪辑。
我认为你可以通过比较各个值(即像素有多少不同)而不是布尔值像素相似匹配来使其更好。
结果:(圆形图像周围的空白将被包括在内)
