Memory error

Discussion related to "under the hood" OpenMV topics.
elliotmil659
Posts: 4
Joined: Tue Jun 19, 2018 3:06 pm

Memory error

Postby elliotmil659 » Wed Jun 20, 2018 1:51 pm

import time, sensor, image
from pyb import UART
from image import SEARCH_EX, SEARCH_DS
ser = UART(3,115200,timeout_char=1000)
# Reset sensor
sensor.reset()

# Set sensor settings
sensor.set_contrast(1)
sensor.set_gainceiling(16)
# Max resolution for template matching with SEARCH_EX is QQVGA
sensor.set_framesize(sensor.QQCIF)
# You can set windowing to reduce the search image.
#sensor.set_windowing(((640-80)//2, (480-60)//2, 80, 60))
sensor.set_pixformat(sensor.GRAYSCALE)

# Load template.
# Template should be a small (eg. 32x32 pixels) grayscale image.
template = image.Image("/Right.pgm")
template = image.Image("/Left.pgm")
clock = time.clock()

# Run template matching
while (True):
clock.tick()
img = sensor.snapshot()

# find_template(template, threshold, [roi, step, search])
# ROI: The region of interest tuple (x, y, w, h).
# Step: The loop step used (y+=step, x+=step) use a bigger step to make it faster.
# Search is either image.SEARCH_EX for exhaustive search or image.SEARCH_DS for diamond search
#
# Note1: ROI has to be smaller than the image and bigger than the template.
# Note2: In diamond search, step and ROI are both ignored.
r = img.find_template(template, 0.70, step=4, search=SEARCH_EX) #, roi=(10, 0, 60, 60))
l = img.find_template(template, 0.70, step=4, search=SEARCH_EX)
if r:
img.draw_rectangle(r,5)
ser.write(0x01)
if l:
img.draw_rectangle(l,5)
ser.write(0x02)
print(clock.fps())

This is how my code looks like. Basically the right and left.pgm are arrows in right and left direction. They were working well and all the suddenly I am getting the message that I am out of memory. So Im trying to use compress() method to reduce the size of the pgm but I do not know how. Can anyone please help me out with this?
User avatar
kwagyeman
Posts: 2387
Joined: Sun May 24, 2015 2:10 pm

Re: Memory error

Postby kwagyeman » Wed Jun 20, 2018 1:59 pm

Hi, it would help if you could let me know which line of code it gives the memory error on.
Nyamekye,
elliotmil659
Posts: 4
Joined: Tue Jun 19, 2018 3:06 pm

Re: Memory error

Postby elliotmil659 » Wed Jun 20, 2018 2:22 pm

kwagyeman wrote:
Wed Jun 20, 2018 1:59 pm
Hi, it would help if you could let me know which line of code it gives the memory error on.
template = image.Image("/Right.pgm")
template = image.Image("/Left.pgm")

These two lines causes the problem. Apparently my files are too big so Im assuming compress() method but dont know how to use it.
User avatar
kwagyeman
Posts: 2387
Joined: Sun May 24, 2015 2:10 pm

Re: Memory error

Postby kwagyeman » Wed Jun 20, 2018 2:24 pm

You can't use compress for processing.

Um, is there a reason you can't use AprilTags? It's far easier to use and does the job really well. You can create one tag for left and one tag for right.
Nyamekye,

Return to “Technical Discussion”

Who is online

Users browsing this forum: piojoadrian and 6 guests