我正在开发一个应用程序来检测"damage amount"的纸币 .
该应用程序将评估用户的输入图像,并确认他们是否有权使用替换笔记 .
输出为: if 30% of lost of money object, can allow changing at the bank
.
我有想法,我们用金钱相机捕捉和损坏背景是白色的,所以在AS3可以计算白色百分比的百分比 . 如果低于30%,那么在银行改变是好的 .
任何想法(计算)如何计算图像中白色的百分比?谢谢 .
-- EDIT --
我有代码@ VC.One,你可以纠正吗?谢谢 .
import flash.media.Camera;
import flash.media.Video;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
var camMoney: Camera = Camera.getCamera();
camMoney.setQuality(0, 100);
camMoney.setMode(480, 300, 30, true);
var vidMoney: Video = new Video(480, 300)
vidMoney.x = 0;
vidMoney.y = 10;
addChild(vidMoney);
vidMoney.attachCamera(camMoney);
var moneyBD: BitmapData = new BitmapData(vidMoney.width, vidMoney.height);
var moneyBM: Bitmap = new Bitmap(moneyBD);
moneyBM.x = 0;
moneyBM.y = 376;
addChild(moneyBM);
var circle: Sprite = new Sprite();
circle.graphics.lineStyle(2, 0xFFFFFF);
circle.graphics.beginFill(0x000000);
circle.graphics.drawCircle(225, 340, 20);
circle.graphics.endFill();
addChild(circle);
circle.buttonMode = true;
circle.addEventListener(MouseEvent.CLICK, capture);
function capture(e: MouseEvent): void {
moneyBD.draw(vidMoney);
}
var circleRect: Sprite = new Sprite();
circleRect.graphics.lineStyle(2, 0xFFFFFF);
circleRect.graphics.beginFill(0xFF0000);
circleRect.graphics.drawRoundRect(260, 320, 60, 40, 30);
circleRect.graphics.endFill();
addChild(circleRect);
circleRect.buttonMode = true;
circleRect.addEventListener(MouseEvent.CLICK, analisa);
function analisa(e: MouseEvent): void {
var xi: int;
var yi: int;
var pixel: uint;
var color: uint;
var pointsWhite: Array = [];
for (xi = 0; xi = 2) {
var lengthOfWhiteSpace: int = pointGroup[pointGroup.length - 1].x - pointGroup[0].x;
var t: TextField = new TextField();
t.x = pointGroup[0].x;
t.y = pointGroup[0].y;
addChild(t);
}
}
2 回答
作为SOF的新手,OP意外添加了其他问题信息作为答案 . 我把它移到了OP下的编辑中,因为我无权删除这个“答案” .
百分比公式为:
amountFound * 100 / amountTotal
例如,如果你有200美元放在某个地方,但只找到50美元 . 做
50 * 100 / 200
表示你找到了25% . 如果你发现另外50美元(现在是100美元),它会告诉你,你得到了200美元的50% .使用这个基本公式,您可以像这样使用
Analisa
函数...对我来说,你的形象的结果是 0.1895... . 但从我的眼睛看,我认为大约5%到10%的数字看起来更正确(不是这个计算的0.18%) . 如果将结果乘以100,它将变为
18.95%
但现在看起来太多了 .我认为需要额外或不同的计算,我会在以后想到某些内容时更新,但这个答案可以帮助你开始..
PS考虑检查:
1) Percentage: Difference vs Error .
2) 我认为Percentage Difference可能对你有帮助 .