Я разрабатываю веб-приложение для классификации изображений с использованием Tensorflow. js. Я беру изображение с помощью веб-камеры и хочу извлечь часть изображения, используя координаты ограничивающей рамки, которые я получил ранее. Структура ограничивающей рамки: [x, y, width, height]
. Форма исходной фотографии веб-камеры: [ 480, 640, 1 ]
Я использую следующий код для извлечения ограничивающей рамки с помощью Tensorflow. js:
function cropImage(webcamElement, bbox){
const webcamImage = tf.browser.fromPixels(webcamElement)
.mean(2)
.toFloat()
.expandDims(-1);
let crop_width = bbox[2];
let crop_height = bbox[3];
// Get valid bbox width in canvas
if (bbox[2] > webcamImage.shape[1] - bbox[0]){
crop_width = webcamImage.shape[1] - bbox[0];
}
// Get valid bbox height in canvas
if (bbox[3] > webcamImage.shape[0] - bbox[1]){
crop_height = webcamImage.shape[0] - bbox[1];
}
let crop = webcamImage.slice(
[bbox[1], bbox[0], 0],
[crop_height, crop_width, 1]
);
console.log(crop);
, но он возвращает следующее сообщение Error: Failed to compile fragment shader.
на уровне выполнения slice ()
Несмотря на мои исследования, я не нашел ничего, что могло бы помочь мне решить мою проблему. У тебя есть идеи? Заранее спасибо