AttributeError: 'Image' object has no attribute 'find_number'

  • edit: the example was outdated

Hey

first of all: Thank you very much kwagyeman. Great work. Very excited for the upcoming kickstarter! :slight_smile:

However:

I am having some issues getting an example sketch running. :confused:

Example Sketch: find_numbers_1.py is giving me a hard time. The code looks like this:

# LetNet Example
import sensor, image, time

sensor.reset()                          # Reset and initialize the sensor.
sensor.set_contrast(3)
sensor.set_pixformat(sensor.GRAYSCALE)  # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.VGA)        # Set frame size to QVGA (320x240)
sensor.set_windowing((128, 128))        # Set 128x128 window.
sensor.skip_frames(time = 2000)         # Wait for settings take effect.
sensor.set_auto_gain(False)
sensor.set_auto_exposure(False)

while(True):
    img = sensor.snapshot()
    # NOTE: Uncomment to detect dark numbers on white background
    # img.invert()
    out = img.find_number(roi=(img.width()//2-14, img.height()//2-14, 28, 28))
    img.draw_rectangle((img.width()//2-15, img.height()//2-15, 30, 30))
    if out[1] > 5: # Confidence level
        print("Number: %d Confidence: %0.2f" %(out[0], out[1]))

In this line:

 out = img.find_number(roi=(img.width()//2-14, img.height()//2-14, 28, 28))

I am getting:

 AttributeError: 'Image' object has no attribute 'find_number'

Setup:

  • IDE: 2.0.0
  • Cam: 3.0.0 [latest]
  • OS: Windows 10 Pro, 64 Bit, Version: 1803, Build: 17134.228

Other examples are running fine. Am I missing a library? Or something else? :unamused:

Thanks in advance,
Fabian

That method was removed after we got CNNs working. Where did you find that old code? It should have been temvoed from the release.

  • edit: already answered

Or has that method been removed already and the examples are just outdated?
http://docs.openmv.io/library/omv.image.html#image.image.find_number

Thanks :slight_smile:

Ups, haha. My internet is kinda slow. Guess thats the answer then.

Saw you already removed the script from the repo. Thank you iabdalkader :slight_smile:

Yes this is an outdated example, I just removed it. See 25-Machine-Learning/nn_lenet.py and the model is here:
https://github.com/openmv/openmv/raw/master/ml/cmsisnn/models/lenet/lenet.network

Lenet I think doesn’t run in the M7 due to lack of RAM. On the H7 it runs great.

My project is to look for a single digit number (with fix font style). There are mostly 3 digits in front of the camera and I need to select the biggest size. May I know which approach is good? For keypoint, how to get the array as blob and select the biggest size? Thx

The MNIST net is the best for this. Um, I’ll train a smaller version of the net that will fit on the M7. We just got all our CNN code for training written down now.

Hi, may I know the schedule? Thx
I have ordered the H7 too, but it won’t be here until March 2019, right?

It will probably come sooner. But, that’s the latest time. The long-lead time part is buying the STM32H7 chips. We did a factory order of 10K.