资源描述:
《《as3画像処理》》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、AS3で画像処理してQRコードを読んだ話自己紹介名前:上野 賢一所属:ロゴスウェア株式会社Twitter:@keno42今日の内容大まかな手順カメラ画像 → ビット配列(画像処理)ビット配列 → 文字列(デコード)参考:JISX0510:2004画像処理1グレー化ColorMatrixFiltervarconGray:Array=[constnum*0.3,constnum*0.59,constnum*0.11];varcmfGray:ColorMatrixFilter=newColorMatrixFilter([conGray[0],conGray[1
2、],conGray[2],0,0,conGray[0],conGray[1],conGray[2],0,0,conGray[0],conGray[1],conGray[2],0,0,0,0,0,0,255]);bmp_dst.applyFilter(bmp_src,rect,point,cmfGray);画像処理22値化BitmapData.thresholdbmp.threshold(bmp,bmp.rect,newPoint(0,0),"<",threshold,0xFF000000,0xFFFFFFFF);bmp.threshold(bmp,bmp
3、.rect,newPoint(0,0),">=",threshold,0xFFFFFFFF,0xFFFFFFFF);画像処理3ラベリングBitmapData.getColorBoundRectBitmapData.copyPixelsBitmapData.floodFillvarrect:Rectangle=bmp.getColorBoundsRect(0xFFFFFFFF,pickcolor);while((rect.width>0)&&(rect.height>0)){vartempBmp:BitmapData=newBitmapData(rect.
4、width,1);tempBmp.copyPixels(bmp,newRectangle(rect.topLeft.x,rect.topLeft.y,rect.width,1),newPoint(0,0));varrect2:Rectangle=tempBmp.getColorBoundsRect(0xFFFFFFFF,pickcolor);bmp.floodFill(rect2.topLeft.x+rect.topLeft.x,rect2.topLeft.y+rect.topLeft.y,fillcolor);_fillColor--;rect=bmp
5、.getColorBoundsRect(0xFFFFFFFF,pickcolor);}画像処理4切り出しシンボルを探すラベリングした矩形の中央を縦横に走査し、黒:白:黒:白:黒=1:1:3:1:1になっていたら当たり画像処理5コードを切り出して向きを直すMath.atanMatrix.translateMatrix.rotatematrix2.translate(-topLeftObj.topleft.x,-topLeftObj.topleft.y);vartheta:Number=0.0;if(tempPoint1.x!=0.0){theta=-Mat
6、h.atan(tempPoint1.y/tempPoint1.x);}matrix2.rotate(theta);matrix2.translate(10,10);画像処理6タイミングパターンからバージョン検出BitmapData.copyPixelsBitmapData.getPixels白と黒のパターン数をがんばって読む縦横のパターン数が一致したらOK画像処理7位置合わせパターンを使ってグリッド作成BitmapData.getPixelBitmapData.getColorBoundRectBitmapData.floodfill正方形からのズレは線
7、形に補間する画像処理8いざ読み取りBitmapData.getPixel→デコーダーへ完成品サンプルlabs.logosware.comご清聴ありがとうございました