Русский
Интеграции
Функция getPhoto

Описание функции

Функция возвращает одномерный массив байт, в который записаны пиксели изображения в формате rgb32, снятого с камеры (размер изображения — 160x120). Данная функция может быть использована для решения задач распознавания маркеров.

Вызов функции

Python
JavaScript
1
pic = getPhoto()
Copied!
1
var pic = getPhoto();
Copied!

Пример работы

Рассмотрим пример преобразования кадра, снятого на камеру, в цветовые форматы «оттенок серого» и «черно-белый».
Сделайте снимок и выведите результат на экран c помощью функции show.
Python
JavaScript
1
# взять кадр в формате rgb32
2
pic = getPhoto()
3
brick.display().show(pic, total_height, total_width, "rgb32")
4
script.wait(2000)
Copied!
1
// взять кадр в формате rgb32
2
var pic = getPhoto();
3
brick.display().show(pic, total_height, total_width, "rgb32");
4
script.wait(2000);
Copied!
Результат:

Реализация функции перевода изображения в оттенок серого

Python
JavaScript
1
def grayScale(sPic):
2
bufPic = []
3
for i in range(total_height):
4
for j in range(total_width):
5
x = i * total_width + j
6
p = sPic[x]
7
r = (p & 0xff0000) >> 16 # взять значение компоненты красного
8
g = (p & 0xff00) >> 8 # взять значение компоненты зеленого
9
b = (p & 0xff) # взять значение компоненты синего
10
p = r * 0.299 + g * 0.587 + b * 0.114; # компонента Y из YUV
11
bufPic.append(p)
12
return bufPic
Copied!
1
function grayScale(sPic){
2
bufPic = [];
3
for(var i = 0; i < total_height; i++)
4
for(var j = 0; j < total_width; j++){
5
var x = i * total_width + j;
6
var p = sPic[x];
7
var r = (p & 0xff0000) >> 16; // взять значение компоненты красного
8
var g = (p & 0xff00) >> 8; // взять значение компоненты зеленого
9
var b = (p & 0xff); // взять значение компоненты синего
10
p = r * 0.299 + g * 0.587 + b * 0.114; // компонента Y из YUV
11
bufPic[x] = p;
12
}
13
return bufPic;
14
}
Copied!
Перевод изображения в черно-белый формат и вывод на дисплей:
Python
JavaScript
1
pic = grayScale(pic)
2
3
brick.display().show(pic, total_height, total_width, "grayscale8")
4
script.wait(2000)
Copied!
1
var pic = grayScale(pic);
2
3
brick.display().show(pic, total_height, total_width, "grayscale8");
4
script.wait(2000);
Copied!
Результат:

Реализация функции бинаризации изображения

Python
JavaScript
1
# Бинаризация -- перевод изображения в ЧБ
2
def binarization(treshold, sPic):
3
bufPic = []
4
for i in range(len(sPic)):
5
bufPic.append(255 if sPic[i] > treshold else 0)
6
return bufPic
Copied!
1
// Бинаризация -- перевод изображения в ЧБ
2
function binarization(treshold, sPic){
3
bufPic = []
4
for(var i = 0; i < sPic.length; i++){
5
bufPic[i] = sPic[i] > treshold ? 255 : 0;
6
}
7
return bufPic;
8
}
Copied!
Перевод изображения в черно-белого и вывод на дисплей:
Python
JavaScript
1
pic = binarization(80, pic)
2
brick.display().show(pic, total_height, total_width, "grayscale8")
3
script.wait(2000)
Copied!
1
var pic = binarization(80, pic);
2
brick.display().show(pic, total_height, total_width, "grayscale8");
3
script.wait(2000);
Copied!
Результат:
Дополнительный материал: презентация Университета Иннополис «Распознавание меток ARTag».
Last modified 1yr ago