Code Monkey home page Code Monkey logo

eloquentvision's Introduction

EloquentArduino library

This library contains source code and examples from the eloquentarduino blog, covering very different topics:

  • data structures
  • image / camera processing
  • print utilities
  • ...other miscellaneous

You can install this library either by cloning the repo or directly from the Arduino IDE Library Manager.

If you're interested in TinyML, I suggest you check out the EloquentTinyML library.

eloquentvision's People

Contributors

agrimagsrl avatar brianjychan avatar eloquentarduino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

eloquentvision's Issues

Http output does not appear as an image

When running the Video Streaming Server Example for an AI Thinker camera, rather than getting an image on the web page, I get continually scrolling random looking text. It appears that the browser is not being instructed to interpret the output as an image or the image file is improper.

Thoughts?

Client session not closing

I'm aware that the ESP Camera can only serve a single connection at any time.
But closing the stream and then trying to reconnect always fails until i reset the ESP.

I'm using the simple HTTPstream example with an AI-Thinker ESP32CAM devkit.
Attempting to reconnect to the server gives no output on the serial debugger.

Update to 0.4

In io/JpegWriter a variable wasn't freed, this bug is already fixed, but the latest version was released before the fix. This causes my program to crash after ca. 50 calls, because every time va. 64 kb get allocated, but never freed. This makes the latest version in Arduino IDE library marketplace unusable. PLEASE UPDATE to new version, where this bug is fixed, so nobody has to waste houurs trying to find out, where memory is lost.

[-Werror=reorder]

In file included from .pio/libdeps/esp32cam/EloquentVision/src/EloquentVision.h:8:0,
                 from src\main.cpp:3:
.pio/libdeps/esp32cam/EloquentVision/src/ImageProcessing/MotionDetection.h: In instantiation of 'Eloquent::Vision::MotionDetection<sourceWidth, sourceHeight, blockSize>::MotionDetection(Eloquent::Vision::ImageProcessing::Downscale::ImageDownscaler) [with short unsigned int sourceWidth = 320u; short 
unsigned int sourceHeight = 240u; unsigned char blockSize = 10u; Eloquent::Vision::ImageProcessing::Downscale::ImageDownscaler = unsigned char (*)(unsigned char*, short unsigned int, short unsigned int, short unsigned int, short unsigned int, unsigned char); uint8_t = unsigned char; uint16_t = short unsigned int]':
src\main.cpp:17:72:   required from here
.pio/libdeps/esp32cam/EloquentVision/src/ImageProcessing/MotionDetection.h:81:29: error: 'Eloquent::Vision::MotionDetection<320u, 240u, 10u>::_downscaler' will be initialized after [-Werror=reorder]  
             ImageDownscaler _downscaler;
                             ^
.pio/libdeps/esp32cam/EloquentVision/src/ImageProcessing/MotionDetection.h:80:19: error:   'float Eloquent::Vision::MotionDetection<320u, 240u, 10u>::_threshold' [-Werror=reorder]
             float _threshold;
                   ^
.pio/libdeps/esp32cam/EloquentVision/src/ImageProcessing/MotionDetection.h:13:13: error:   when initialized here [-Werror=reorder]
             MotionDetection(ImageDownscaler downscaler) :
             ^
cc1plus.exe: some warnings being treated as errors
*** [.pio\build\esp32cam\src\main.cpp.o] Error 1
==================================== [FAILED] Took 5.99 seconds ====================================

The workaround for this error is to include the following line at platformio.ini file:

build_unflags = -Werror=reorder

Detected camera not supported

Hello, im getting this error when running any of the code examples on my ESP32 cam.

[E][camera.c:1113] camera_probe(): Detected camera not supported.
[E][camera.c:1379] esp_camera_init(): Camera probe failed with error 0x20004
Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC      : 0x400d0d47  PS      : 0x00060c30  A0      : 0x800d0e12  A1      : 0x3ffb1ef0  
A2      : 0x00000001  A3      : 0x00000005  A4      : 0x00020004  A5      : 0x0000001e  
A6      : 0x01312d00  A7      : 0x00000000  A8      : 0x800d0d45  A9      : 0x3ffb1ed0  
A10     : 0x00000000  A11     : 0x00000005  A12     : 0x000000ff  A13     : 0x00000000  
A14     : 0x00ff0000  A15     : 0x40404040  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x00000040  LBEG    : 0x4008d391  LEND    : 0x4008d3a1  LCOUNT  : 0xfffffffb  

ELF file SHA256: 0000000000000000

Backtrace: 0x400d0d47:0x3ffb1ef0 0x400d0e0f:0x3ffb1f70 0x400d257a:0x3ffb1fb0 0x4008fab6:0x3ffb1fd0

Rebooting...

I'm really new so at first I was just testing the examples out of the box. Does this error really mean that the camera that comes with my ESP32 microprocessor is not supported or could be something else? how do I know which versions/models/stuff are supported?

Thanks

jpegwriter memory leak

I think you have to free the allocated memory by fmt2jpg.
after file.write(jpeg, len);
free(jpeg);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.