OPENCV-MOBILE
Opencv-mobile é uma versão leve da biblioteca OpenCV que minimiza a compilação do OpenCV ajustando os parâmetros de compilação e removendo certas partes do código-fonte do OpenCV.
O opencv-mobile fornece funcionalidades comumente usadas do OpenCV, como processamento de imagem, operações de matriz e muito mais. Ele permanece sincronizado com a versão upstream e não tem dependências de terceiros. Na maioria dos casos, ele pode substituir perfeitamente o OpenCV oficial com apenas 1/10 do tamanho, tornando-o particularmente adequado para ambientes móveis e incorporados com requisitos de tamanho específicos.
O opencv-mobile já suporta decodificação JPG acelerada por hardware e aceleração de hardware VPSS (Video Processing Subsystem) no Milk-V Duo/Duo256M/DuoS.
Ver blog
https://milk-v.blogspot.com/2024/11/milkv-duo-riscv64-linux-musl-hw-jpg.html
Foi compilado a seguinte aplicação para o OPENCV
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <unistd.h> // sleep()
int main()
{
cv::VideoCapture cap;
cap.set(cv::CAP_PROP_FRAME_WIDTH, 480);
cap.set(cv::CAP_PROP_FRAME_HEIGHT, 360);
cap.open(0);
const int w = cap.get(cv::CAP_PROP_FRAME_WIDTH);
const int h = cap.get(cv::CAP_PROP_FRAME_HEIGHT);
fprintf(stderr, "%d x %d\n", w, h);
cv::Mat bgr;
cap >> bgr;
sleep(1);
cap >> bgr;
sleep(1);
cap.release();
// combine into big image
cv::Mat out(h , w , CV_8UC3);
bgr.copyTo(out(cv::Rect(0, 0, w, h)));
cv::imwrite("out.jpg", out);
return 0;
}
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <unistd.h> // sleep()
int main()
{
cv::VideoCapture cap;
cap.set(cv::CAP_PROP_FRAME_WIDTH, 480);
cap.set(cv::CAP_PROP_FRAME_HEIGHT, 360);
cap.open(0);
const int w = cap.get(cv::CAP_PROP_FRAME_WIDTH);
const int h = cap.get(cv::CAP_PROP_FRAME_HEIGHT);
fprintf(stderr, "%d x %d\n", w, h);
cv::Mat bgr;
cap >> bgr;
sleep(1);
cap >> bgr;
sleep(1);
cap.release();
// combine into big image
cv::Mat out(h , w , CV_8UC3);
bgr.copyTo(out(cv::Rect(0, 0, w, h)));
cv::imwrite("out.jpg", out);
return 0;
}
A mesma foi transferida para o Duo 256
- Usa cv::VideoCapture para abrir a câmera e definir a resolução para 320x240
- Obtem 1 quadro de imagem a cada 1 segundo
- Desliga a câmera
- Por fim, costura as 9 imagens e salva-as
O primeiro quadro está preto porque o ISP ainda está contando as informações da imagem e é tarde demais para processá-las automaticamente.
YOLOV5
O YOLOv5 é um framework de detecção de objetos de código aberto e de alto desempenho. Ele é baseado em uma arquitetura de rede neural convolucional chamada You Only Look Once (YOLO), que é capaz de detectar objetos em uma imagem em uma única passagem.
Transfira também o programa cvi_sample_detector_yolo_v5_fused_preprocess (TPU-SDK) para o Duo 256 e execute.
Ver blog
https://milk-v.blogspot.com/2024/10/milk-v-duo-256-yolov-parte-i.html
Detectou Person (Object)
CVI_NN_CleanupModel succeeded
dica
- A câmera precisa estar conectada antes que o Duo seja ligado
- Quando o comando é executado, a direção da câmera pode ser girada para capturar imagens diferentes até que o programa termine
VISUINO
O Visuino é o mais recente software inovador da Mitov Software. Um ambiente de programação visual que permite programar suas placas Arduino.
Utilizando as chamadas ao LINUX SHELL
Ver blog
Utilizando as chamadas ao LINUX SHELL
Ver blog
- ./opencv-mobile-test
- ls -l out.jpg
- /mnt/tpu/tpu-sdk/samples/samples_extra/bin/cvi_sample_detector_yolo_v5_fused_preprocess ./yolov5n_int8_fuse.cvimodel ./out.jpg ./yolov5n_out.jpg
REF
https://milk-v.blogspot.com/2024/10/cam-gc2083-introducao-o-cam-gc2083-e.html
Sobre a SMARTCORE
- ./opencv-mobile-test
- ls -l out.jpg
- /mnt/tpu/tpu-sdk/samples/samples_extra/bin/cvi_sample_detector_yolo_v5_fused_preprocess ./yolov5n_int8_fuse.cvimodel ./out.jpg ./yolov5n_out.jpg
REF
https://milk-v.blogspot.com/2024/10/cam-gc2083-introducao-o-cam-gc2083-e.html
Sobre a SMARTCORE
A SMARTCORE FORNECE CHIPS E MÓDULOS PARA IOT, COMUNICAÇÃO WIRELESS, BIOMETRIA, CONECTIVIDADE, RASTREAMENTO E AUTOMAÇÃO. NOSSO PORTFÓLIO INCLUI MODEM 2G/3G/4G/NB-IOT, SATELITAL, MÓDULOS WIFI, BLUETOOTH, GPS, SIGFOX, LORA, LEITOR DE CARTÃO, LEITOR QR CCODE, MECANISMO DE IMPRESSÃO, MINI-BOARD PC, ANTENA, PIGTAIL, BATERIA, REPETIDOR GPS E SENSORES.
Nenhum comentário:
Postar um comentário