gpt4 book ai didi

actionscript-3 - 检测大量损坏金钱

转载 作者:行者123 更新时间:2023-12-04 03:18:52 24 4
gpt4 key购买 nike

我正在开发一款检测纸币“损坏量”的应用程序。
该应用程序将评估用户输入的图像,并确认他们是否有权更换纸币。

输出是:如果丢失了 30% 的钱对象,可以允许在银行找零

我有想法,我们用相机拍摄金钱并且损坏背景是白色的,所以在 AS3 中可以计算白色的百分比。如果少于 30%,那么最好在银行进行更改。

关于如何计算图像中白色百分比的任何想法(计算)?谢谢。

-- 编辑 --

我有代码@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);        }    }

最佳答案

百分比公式为:amountFound * 100/amountTotal

例如,如果您将 200 美元放在某处,但只找到 50 美元。执行 50 * 100/200 表示您找到了 25%。如果您又找到了 50 美元(现在是 100 美元),它会告诉您您得到了 200 美元的 50%。

有了这个基本公式,您就可以像这样将它用于您的 Analisa 函数...

function analisa(e:MouseEvent = null) : void 
{
var xi: int=0; var yi: int=0; var pixel: uint=0;

var totalPixels_image : int = 0;
var totalPixels_white : int = 0;
var PercentWhitePixels : Number = 0;

//# get total pixels
totalPixels_image = bmpData.width * bmpData.height;

//# get total white pixels
for (yi = 0; yi < bmpData.height; yi++)
{
for (xi = 0; xi < bmpData.width; xi++)
{
pixel = bmpData.getPixel( xi, yi );

if ( pixel == 0xFFFFFF)
{
totalPixels_white += 1; //++;
}
}
}

PercentWhitePixels = ( (totalPixels_white * 100) / totalPixels_image);

//# get results
trace("=== RESULTS =================================");
trace("Image Width : " + bmpData.width );
trace("Image Height : " + bmpData.height );
trace("total Pixels in Image : " + totalPixels_image);
trace("total Pixels of White : " + totalPixels_white);
trace("Percentage of White : " + PercentWhitePixels) + "%";

}

对我来说,你的图片的结果是 0.1895...。但从我的眼睛来看,我认为大约 5% 到 10% 的数字看起来 更正确(不是这个计算的 0.18%)。如果将结果乘以 100,它将变为 18.95%,但现在看起来太多了。

我认为需要额外或不同的计算,我会在以后想到什么时更新,但这个答案应该可以帮助您开始..

PS 考虑检查一下:

1) Percentage: Difference vs Error .
2) 我想Percentage Difference可能对你有帮助。

关于actionscript-3 - 检测大量损坏金钱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39615751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com