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?
Memory error
-
- Posts: 4
- Joined: Tue Jun 19, 2018 3:06 pm
Re: Memory error
Hi, it would help if you could let me know which line of code it gives the memory error on.
Nyamekye,
-
- Posts: 4
- Joined: Tue Jun 19, 2018 3:06 pm
Re: Memory error
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.
Re: Memory error
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.
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: No registered users and 2 guests