Кусок кода на Питоне, под платформу Raspberry c использованием OpenCV
500 руб. за проект
•
безналичный расчёт, электронные деньги
Пишу код (он ниже) на Питоне, с использованием библиотеки OpenCV, под платформу Raspberry Pi. В программировании на Питоне не силен, уровень нулевой, но знаю точно, чего хочу.
1) С камеры получаю картинку (работает)
2) Преобразую ее в серые тона (работает).
3) Пытаюсь распознать на картинке лица с помощью detectMultiScale (не работает, вот здесь и проблема). Интерпретатор пишет "<unknown> is not numpy array"
Что нужно сделать:
1) Добиться того, чтобы функция отрабатывала (причем именно на платформе Raspberry) и возвращала в переменную faces - массив прямоугольников, окружающих распознанные на картинке лица (собственно это и делает функция detectMultiScale)
2) На той же картинке frame_gray эти прямоугольники надо отрисовать.
Работа будет считаться выполненной, если присланный Вами кусок кода заработает на моей Raspberry (если необходимо, конфигурацию могу уточнить, но у меня все стандартно, модель Raspberry Pi B).
Чувствую, что заказ не разовый, готов к сотрудничеству.
Вот код:
import os, subprocess, cv, cv2, numpy as np
STAGE=0
FRAME_WIDTH=640
FRAME_HEIGHT=480
MIN_SIZE=(40,40)
IMAGE_SCALE=2
HAAR_SCALE=1.2
MIN_NEIGHBORS=2
HAAR_FLAGS=0
## подгружаю каскадный классификатор
cascade=cv2.CascadeClassifier("fface.xml")
capture=cv.CaptureFromCAM(-1)
cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH,FRAME_WIDTH)
cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT,FRAME_HEIGHT)
frame=cv.QueryFrame(capture)
frame_gray=cv.CreateImage((FRAME_WIDTH, FRAME_HEIGHT),8,1)
cv.CvtColor(frame,frame_gray,cv.CV_BGR2GRAY)
## проблема начинается уже здесь
SF=[]
## в функции указаны не все переменные
faces=cascade.detectMultiScale(frame_gray, 1.3, scaleFactor=1.03, levelWeights=SF)
## здесь скрипт заканчивает работу
cv.SaveImage("/home/pi/bus/img/test1.jpg",frame_gray)
cv.DestroyAllWindows()
1) С камеры получаю картинку (работает)
2) Преобразую ее в серые тона (работает).
3) Пытаюсь распознать на картинке лица с помощью detectMultiScale (не работает, вот здесь и проблема). Интерпретатор пишет "<unknown> is not numpy array"
Что нужно сделать:
1) Добиться того, чтобы функция отрабатывала (причем именно на платформе Raspberry) и возвращала в переменную faces - массив прямоугольников, окружающих распознанные на картинке лица (собственно это и делает функция detectMultiScale)
2) На той же картинке frame_gray эти прямоугольники надо отрисовать.
Работа будет считаться выполненной, если присланный Вами кусок кода заработает на моей Raspberry (если необходимо, конфигурацию могу уточнить, но у меня все стандартно, модель Raspberry Pi B).
Чувствую, что заказ не разовый, готов к сотрудничеству.
Вот код:
import os, subprocess, cv, cv2, numpy as np
STAGE=0
FRAME_WIDTH=640
FRAME_HEIGHT=480
MIN_SIZE=(40,40)
IMAGE_SCALE=2
HAAR_SCALE=1.2
MIN_NEIGHBORS=2
HAAR_FLAGS=0
## подгружаю каскадный классификатор
cascade=cv2.CascadeClassifier("fface.xml")
capture=cv.CaptureFromCAM(-1)
cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH,FRAME_WIDTH)
cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT,FRAME_HEIGHT)
frame=cv.QueryFrame(capture)
frame_gray=cv.CreateImage((FRAME_WIDTH, FRAME_HEIGHT),8,1)
cv.CvtColor(frame,frame_gray,cv.CV_BGR2GRAY)
## проблема начинается уже здесь
SF=[]
## в функции указаны не все переменные
faces=cascade.detectMultiScale(frame_gray, 1.3, scaleFactor=1.03, levelWeights=SF)
## здесь скрипт заканчивает работу
cv.SaveImage("/home/pi/bus/img/test1.jpg",frame_gray)
cv.DestroyAllWindows()
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.