Функция getPhoto

Описание функции
Функция возвращает одномерный массив байт, в который записаны пиксели изображения в формате rgb32, снятого с камеры. Данная функция может быть использована для решения задач распознавания маркеров.
Вызов функции
pic = getPhoto();
Пример работы
Рассмотрим пример преобразования кадра, снятого на камеру, в цветовые форматы «оттенок серого» и «черно-белый».
Сделайте снимок и выведите результат на экран c помощью функции show.
// взять кадр в формате rgb32
pic = getPhoto();
brick.display().show(pic, total_height, total_width, "rgb32");
script.wait(2000);
Результат:
Реализация функции перевода изображения в оттенок серого
function grayScale(sPic){
	bufPic = [];
	for(var i = 0; i < total_height; i++)
		for(var j = 0; j < total_width; j++){
			var x = i * total_width + j;
			var p = sPic[x];
			var r = (p & 0xff0000) >> 16;	// взять значение компоненты красного
			var g = (p & 0xff00) >> 8;	// взять значение компоненты зеленого
			var b = (p & 0xff);		// взять значение компоненты синего
			p = r * 0.299 + g * 0.587 + b * 0.114; // компонента Y из YUV
			bufPic[x] = p; 
		}
	return bufPic;
}
Перевод изображения в черно-белый формат и вывод на дисплей:
pic = grayScale(pic);

brick.display().show(pic, total_height, total_width, "grayscale8");
script.wait(2000);
Результат:
Реализация функции бинаризации изображения
// Бинаризация -- перевод изображения в ЧБ
function binarization(treshold, sPic){
	bufPic = []
	for(var i = 0; i < sPic.length; i++){
		bufPic[i] = sPic[i] > treshold ? 255 : 0;
	}
	return bufPic;
}
Перевод изображения в черно-белого и вывод на дисплей:
pic = binarization(80, pic);
brick.display().show(pic, total_height, total_width, "grayscale8");
script.wait(2000);
Результат:
Дополнительный материал: презентация «Университета Иннополис» «Распознавание меток ARTag».