Как отобразить захваченное изображение для следующего действия, используя CraftAR Camera - PullRequest
0 голосов
/ 28 января 2019

Я использую CraftAR для распознавания изображений, и у него уже есть собственная камера (CraftAR Camera).

Я уже искал возможные решения / ы, но в большинстве из них говорится о намерении вызове камеры с устройства.Я пытаюсь найти около Camera API , как-то похоже на мой случай, потому что CraftAR камера не использует намерение камеры, как другие, но я не могу понять, как использовать / реализовать его в моем коде.

Как отобразить захваченное изображение, снятое камерой на следующую операцию?

RecognitionSingleShotActivity

    public class RecognitionSingleShotActivity extends CraftARActivity implements CraftARSearchResponseHandler, OnClickListener {

    private final static String TAG = "RecognitionSingleShotActivity";

    private View mScanningLayout;
    private View mTapToScanLayout;

    CraftAROnDeviceIR mOnDeviceIR;
    CraftARSDK mCraftARSDK;
    CraftARCamera mCamera;
    private boolean mIsActivityRunning;;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public void onPostCreate() {

        setContentView(R.layout.activity_recognition_only);

        mCraftARSDK = CraftARSDK.Instance();
        mCraftARSDK.startCapture(this);

        mOnDeviceIR = CraftAROnDeviceIR.Instance(); 

        mCraftARSDK.setSearchController(mOnDeviceIR.getSearchController());

        mOnDeviceIR.setCraftARSearchResponseHandler(this);

        mCamera = mCraftARSDK.getCamera();

        mScanningLayout = findViewById(R.id.layout_scanning);
        mTapToScanLayout = findViewById(R.id.tap_to_scan);
        mTapToScanLayout.setClickable(true);
        mTapToScanLayout.setOnClickListener(this);  
    }

    @Override
    public void onCameraOpenFailed() {
        Toast.makeText(getApplicationContext(), "Camera error", Toast.LENGTH_SHORT).show();     
    }

    @Override
    public void onPreviewStarted(int width, int height) {

    }
    @Override
    public void onClick(View v) {
        if (v == mTapToScanLayout) {
            mTapToScanLayout.setVisibility(View.GONE);
            mScanningLayout.setVisibility(View.VISIBLE);
            mCraftARSDK.singleShotSearch();

        }
    }

    @Override
    public void searchResults(ArrayList<CraftARResult> result,
            long searchTimeMillis, int requestCode) {
        if(result.size()> 0){
            showResultDialog(result);
        }else{
            showNoObjectsDialog();
        }
    }
   ...
    private void showResultDialog(ArrayList<CraftARResult> results){
        if(!mIsActivityRunning){
            return;
        }

        String resultsText="";
        for(CraftARResult result:results){
            String itemName = result.getItem().getItemName();
            resultsText+= itemName + "\n";
        }
        resultsText = resultsText.substring(0,resultsText.length() - 1);    }
    ...

    }

Я хочу отобразить его в RecognitionSingleShotActivityOutput используя ImageView

...