Я использую 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