GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
「GR‐LYCHEE」ではじめる「電子工作」4章 コンピュータビジョン編でimwrite命令が出てきます本を参考にIDE for GRのサンプルスケッチFeceDetectionの枠を囲むプログラムの後にP94 4-2-7切り抜きを入れてみました。コンパイルは通りますが実際には動きません下記のようにプログラムで動かしてますがアドバイスいただけないでしょうか?枠の描画以降のプログラムから最終行のコピペ
rectangle(dst, Point(face_roi.x, face_roi.y), Point(face_roi.x + face_roi.width, face_roi.y + face_roi.height), red, 2);
Mat cropped = dst(Rect(Point(face_roi.x, face_roi.y), Point(face_roi.x + face_roi.width, face_roi.y + face_roi.height)));//P94 4-2-7切り抜きimwrite("/storage/face_cat.jpg",cropped );//P94 4-2-7切り抜き
size_t jpegSize = camera.createJpeg(IMAGE_HW, IMAGE_VW, dst.data, Camera::FORMAT_RGB888); display_app.SendJpeg(camera.getJpegAdr(), jpegSize);}
以下、3rdpartyのlibjpegを含めてライブラリを生成し、
https://github.com/opencv/opencv/tree/master/3rdparty
以下のプログラムが正常に動く(SDにlena_copy.jpgがコピーされる)ことが確認できました。
#include <Arduino.h>#include <Camera.h>#include <opencv.hpp>#include "SdUsbConnect.h"using namespace cv;SdUsbConnect storage("storage");void setup() { Serial.begin(9600); pinMode(PIN_LED_YELLOW, OUTPUT); digitalWrite(PIN_LED_YELLOW, HIGH); // SD & USB Serial.print("Finding strage.."); storage.wait_connect(); Serial.println("done"); Mat image = imread("/storage/lena.jpg", IMREAD_COLOR); if (!image.empty()) { imwrite("/storage/lena_copy.jpg", image); digitalWrite(PIN_LED_YELLOW, HIGH); }}void loop() {}
グノーモンズ社としてもメモリを気にして実装までしていなかったとのことでしたので、CannyやFacedetectなど既存のサンプルが動くことを確認した後に、がじぇるねWebコンパイラと、IDE for GRへの実装を視野に入れたいと思います。早ければ来週アップします。
がじぇるね岡宮です。
まずはWebコンパイラに「GR-LYCHEE_Sketch_OpenCV_V1.02.02」として、OpenCVにlibjpegを含んだものをアップしました。
以下、OpenCVのimreadでjpgを読んでLCDに表示するサンプルです。またimwriteでそのままjpgを保存します。
#include <Arduino.h>#include <Camera.h>#include <LCD.h>#include <opencv.hpp>#include "SdUsbConnect.h"using namespace cv;SdUsbConnect storage("storage");LCD lcd;static uint8_t work_buf[BYTE_PER_PIXEL_YUV * 640 * 480];void setup() { Serial.begin(9600); pinMode(PIN_LED_YELLOW, OUTPUT); digitalWrite(PIN_LED_YELLOW, HIGH); // SD & USB Serial.print("Finding strage.."); storage.wait_connect(); Serial.println("done"); Mat image = imread("/storage/lena.jpg", IMREAD_COLOR); if (!image.empty()) { imwrite("/storage/lena_copy.jpg", image); digitalWrite(PIN_LED_YELLOW, HIGH); } lcd.begin(work_buf, image.cols, image.rows); lcd.clear(); lcd.BGR2YUV(image.data, work_buf, image.cols, image.rows);}void loop() {}
OpenCVライブラリ生成プロジェクト ありがとうございます。念のため確認ですが opencv_neon_02.zipを IDE for GR のスケッチの中にあるライブラリーの使用から 追加を行い 再びライブラリーの使用から opencv.onを選択して プログラム上に #include <cvconfig.h> が1行目に表示されればOKですね
こちらの環境では以下のように切り抜きされましたが、ファイル保存はできているのですか?