Renesas Community
Renesas Community
  • User
    Join or sign in
  • Site
  • Search Community
  • User
  • Renesas Engineering Community
  • FAQ
  • HELP
  • More
  • Cancel
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
GR-LYCHEE 「GR‐LYCHEE」ではじめる「電子工作」4章 imwrite について
  • Forums
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 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関連

 女子美コラボ

 その他

 ※プロデューサミーティング中

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他・過去ファイル

  • State Not Answered
  • Replies 16 replies
  • Subscribers 436 subscribers
  • Views 9790 views
  • Users 0 members are here
Options
  • Share
  • More
  • Cancel
Related Tags
  • 5Vトレラント
  • binファイル
  • BLE
  • DisplayApp
  • e2studio
  • error
  • ESP32
  • GR-LYCHEE
  • GR-PEACH
  • html
  • includeに関しては、C言語のヘッダファイルの意味合いを理解すれば、どういうことなのか?がわかるんじゃないか?と思いますよ。
  • OpenCV
  • pwm
  • WebCamera
  • webコンパイラ
  • カメラ
  • コンパイラー
  • シリアル
  • ダウンロード
  • ツールチェン
  • ファームウェア
  • 基板サイズ
  • 解凍
Related

「GR‐LYCHEE」ではじめる「電子工作」4章 imwrite について

hero
hero over 5 years ago

「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);
}

  • Reply
  • Cancel
  • Cancel
  • Okamiya Yuuki
    0 Okamiya Yuuki over 5 years ago
    反応してなくてすみません。ちょっとグノーモンズ社にも確認中です。
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • dkato
    0 dkato over 5 years ago
    公開しているOpenCVライブラリにはサードパーティ製のライブラリは含まれないようにしているので、JPEG形式での保存ができないのだと思います。
    ビットマップ形式ではいかがでしょうか。
    imwrite("/storage/face_cat.bmp",cropped );

    また、imwrite()を使わない場合は以下の方法でJPEG形式での保存が可能です。
    (bitmap_buff_infoの部分は入力データに合わせて書き換えが必要です)
    github.com/.../main.cpp
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hero
    0 hero over 5 years ago in reply to Okamiya Yuuki

    岡宮さん対応ありがとうございます。
    結果いただけましたら
    またアップお願いします

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hero
    0 hero over 5 years ago in reply to dkato
    dkatoさん
    ありがとうございます。
    試してみます。
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • Okamiya Yuuki
    0 Okamiya Yuuki over 5 years ago in reply to hero

    以下、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への実装を視野に入れたいと思います。早ければ来週アップします。

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hero
    0 hero over 5 years ago in reply to Okamiya Yuuki
    岡宮さんありがとうございます。
    早速試してみます
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hero
    0 hero over 5 years ago in reply to Okamiya Yuuki
    試してみましたが
    3rdpartyのlibjpegを含めてライブラリを生成
    やり方が違うようで動きません、
    来週のアップ
    ライブラリーのレクチャーも含めてお願いします。
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • Okamiya Yuuki
    0 Okamiya Yuuki over 5 years ago in reply to hero

    がじぇるね岡宮です。

    まずは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() {

    }

     

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hero
    0 hero over 5 years ago in reply to Okamiya Yuuki
    岡宮さんありがとうございます。
    仕事が早いので助かります。
    Webコンパイラみてみます
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • Okamiya Yuuki
    0 Okamiya Yuuki over 5 years ago in reply to hero
    いえいえ。でもWebコンパイラのビルドが結構時間かかるので、ちょっとイラっとするかもしれません。IDE for GRの方が気持ち早いので、こちらのリリースも急ぎたいと思います。
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hero
    0 hero over 5 years ago in reply to Okamiya Yuuki

    OpenCVライブラリ生成プロジェクト
    ありがとうございます。

    念のため確認ですが
    opencv_neon_02.zipを
    IDE for GR のスケッチの中にあるライブラリーの使用から
    追加を行い
    再びライブラリーの使用から
    opencv.onを選択して
    プログラム上に
    #include <cvconfig.h>
    が1行目に表示されればOKですね

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • Okamiya Yuuki
    0 Okamiya Yuuki over 5 years ago in reply to hero
    IDE for GRの場合、ライブラリlibopencv_neon.aが
    \hardware\arduino\rza1lu\variants\gr_lychee
    にありますので、これをReleaseフォルダにある.aと置き換えれば基本的に動くと思いますよ。
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hero
    0 hero over 5 years ago in reply to Okamiya Yuuki
    ご指示どおりやってみたら
    lena_copy.jpgがコピーされてました。
    ありがとうございました。
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hero
    0 hero over 5 years ago in reply to hero
    #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_RED, OUTPUT);
    digitalWrite(PIN_LED_RED, HIGH);
    // SD & USB
    Serial.print("Finding strage..");
    storage.wait_connect();
    Serial.println("done");

    Mat image = imread("/storage/lena.jpg", IMREAD_COLOR);
    if (!image.empty()) {
    Mat cropped = image(Rect(Point(240,30),Point(335,120)));
    imwrite("/storage/lena_cut.jpg",cropped);
    digitalWrite(PIN_LED_RED, HIGH);
    }
    }

    void loop() {

    }
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hero
    0 hero over 5 years ago in reply to hero
    こんな感じで
    4章4-2-7切り抜きですが
    切り抜きできません
    プログラミングの問題でしょうか?
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
>
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2023 Renesas Electronics Corporation. All rights reserved.