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関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
LYCHEEでOpenCVを試していますが、mathTemplate内でエラーになってしまい、行き詰っています。
ソースは下記を使っています。
最初はメモリを疑い読み込む画像サイズをかなり小さくしましたがうまくいきませんでした。
環境はIDE for GR1.05でopencvのライブラリは入れなおしています。
#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() { double minVal, maxVal; Point minLoc, maxLoc; Mat tmp; Mat res;
Serial.begin(115200); pinMode(PIN_LED_YELLOW, OUTPUT); pinMode(PIN_LED_RED, OUTPUT); pinMode(PIN_LED_GREEN, OUTPUT); digitalWrite(PIN_LED_YELLOW, HIGH); // SD & USB Serial.print("Finding strage.."); storage.wait_connect(); Serial.println("done");
Serial.println("Target Load"); Mat image = imread("/storage/target.jpg", 0); if (!image.empty()) { Mat tmp = imread("/storage/tmp.img", 0);
matchTemplate(image, tmp, res, 3/*CV_TM_CCORR_NORMED*/); minMaxLoc(res, &minVal, &maxVal, &minLoc, &maxLoc); cvtColor(image, image, COLOR_GRAY2BGR); // 枠線を書くためにカラーに戻す Rect rect; rect = Rect(maxLoc, tmp.size());
rectangle(image, rect, Scalar(0, 255, 0), 2); digitalWrite(PIN_LED_GREEN, HIGH); }
lcd.begin(work_buf, image.cols, image.rows); lcd.clear(); lcd.BGR2YUV(image.data, work_buf, image.cols, image.rows);}
void loop() {}