Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
- mRgba = inputFrame.rgba();
- mGray = inputFrame.gray();
- // hist
- // Size sizeRgba = mRgba.size();
- Size sizeRgba = mGray.size();
- // end
- if (mAbsoluteFaceSize == 0) {
- int height = mGray.rows();
- if (Math.round(height * mRelativeFaceSize) > 0) {
- mAbsoluteFaceSize = Math.round(height * mRelativeFaceSize);
- }
- // mNativeDetector.setMinFaceSize(mAbsoluteFaceSize);
- }
- MatOfRect faces = new MatOfRect();
- if (mDetectorType == JAVA_DETECTOR) {
- if (mJavaDetector != null)
- // do detect
- mJavaDetector.detectMultiScale(mRgba, faces, 1.1, 2,
- 2, // TODO: objdetect.CV_HAAR_SCALE_IMAGE
- new Size(mAbsoluteFaceSize, mAbsoluteFaceSize),
- new Size());
- } else if (mDetectorType == NATIVE_DETECTOR) {
- // if (mNativeDetector != null)
- // mNativeDetector.detect(mGray, faces);
- } else {
- Log.e(TAG, "Detection method is not selected!");
- }
- Rect[] facesArray = faces.toArray();
- if ((facesArray.length == 1) && (faceState == TRAINING)
- && (countImages < MAXIMG)
- && (!text.getText().toString().isEmpty())) {
- Mat m = new Mat();
- Rect r = facesArray[0];
- m = mGray.submat(r);
- // mBitmap = Bitmap.createBitmap(m.width(), m.height(),
- mBitmap = Bitmap.createBitmap(m.width(), m.height(),
- Bitmap.Config.ARGB_8888);// 32-bit
- Utils.matToBitmap(m, mBitmap);
- // SaveBmp(mBitmap,"/sdcard/db/I("+countTrain+")"+countImages+".jpg");
- Message msg = new Message();
- String textTochange = "IMG";
- msg.obj = textTochange;
- mHandler.sendMessage(msg);
- if (countImages < MAXIMG) {
- fr.add(m, text.getText().toString());
- countImages++;
- }
- } else if ((facesArray.length > 0) && (faceState == SEARCHING)) {
- Mat m = new Mat();
- m = mRgba.submat(facesArray[0]);// make canvas extracted feature
- mBitmap = Bitmap.createBitmap(m.width(), m.height(),
- Bitmap.Config.ARGB_8888);
- Utils.matToBitmap(m, mBitmap);
- Message msg = new Message();
- String textTochange = "IMG";
- msg.obj = textTochange;
- mHandler.sendMessage(msg);
- textTochange = fr.predict(m);
- // fr.train();
- mLikely = fr.getProb();
- msg = new Message();
- msg.obj = textTochange;
- mHandler.sendMessage(msg);
- }
- ...............etc.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement