У меня проблема с отображением ограничительной рамки в моем приложении.
Мое приложение может обнаруживать текст на изображениях и отображать текст, обнаруженный в режиме прокрутки.
Но я хотел бы изменить отображение с отображения символа в представлении прокрутки на нажатие ограничивающего прямоугольника, который окружает тексты на этом изображении, и затем отображение результатов вместо этого.
Это мой код, который результаты показывают в представлении прокрутки.
BitmapDrawable drawable = (BitmapDrawable) mImageView.getDrawable();
Bitmap bitmap = drawable.getBitmap();
lvLabel.setBackground(drawable);
String data = CloudVision.convertBitmapToBase64String(bitmap);
while (data.getBytes().length > 10400000){
bitmap = Bitmap.createScaledBitmap(bitmap,(int)(bitmap.getWidth()*0.8), (int)(bitmap.getHeight()*0.8), true);
data = CloudVision.convertBitmapToBase64String(bitmap);;
}
CVRequest request = createCVRequest(data);
CloudVision.runImageDetection(apiKey, request, this);
}
private CVRequest createCVRequest(String data) {
CVRequest.Image image = new CVRequest.Image(data);
CVRequest.Feature feature = new CVRequest.Feature(CVRequest.FeatureType.TEXT_DETECTION, 6);
List<String> imgHint = new ArrayList<>();
imgHint.add("en");
imgHint.add("th");
CVRequest.ImageContext imageContext = new CVRequest.ImageContext(imgHint,null);
List<CVRequest.Feature> featureList = new ArrayList<>();
featureList.add(feature);
List<CVRequest.Request> requestList = new ArrayList<>();
requestList.add(new CVRequest.Request(image, featureList));
return new CVRequest(requestList);
}
private void setCVResponse(CVResponse cvResponse) {
if (cvResponse != null && cvResponse.isResponsesAvailable()) {
CVResponse.Response response = cvResponse.getResponse(0);
if (response.isTextAvailable()) {
LabelAdapter adapter = new LabelAdapter(response.getTexts());
lvLabel.setAdapter(adapter);
}
}
hideLoading();
}```