0

so i made a camera app for the hq camera but i cannot take any sort of pictures on my raspberry pi 4!

from guizero import App, PushButton
from picamera import PiCamera

camera = PiCamera()

app = App()
def preview():
    camera.start_preview(fullscreen=False, window = (50,150,2048,1152))
    
button = PushButton(app, command=preview, text="preview")
def stop_preview():
    camera.stop_preview()
    
button = PushButton(app, command=stop_preview, text="stop preview")
def shutter():
    camera.capture('/home/pi/Desktop/image.jpg')
    
button = PushButton(app, command=shutter, text="shutter")
app.display()

but for some reason i get this error!

mmal: mmal_vc_port_enable: failed to enable port vc.ril.image_encode:out:0(JPEG): ENOMEM
mmal: mmal_port_enable: failed to enable port vc.ril.image_encode:out:0(JPEG)(0x1e258a0) (ENOMEM)
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3.7/tkinter/__init__.py", line 1705, in __call__
    return self.func(*args)
  File "/home/pi/.local/lib/python3.7/site-packages/guizero/PushButton.py", line 206, in _command_callback
    self._command()
  File "/home/pi/Desktop/James Strand Camera", line 16, in shutter
    camera.capture('/home/pi/Desktop/image.jpg')
  File "/usr/lib/python3/dist-packages/picamera/camera.py", line 1418, in capture
    encoder.start(output)
  File "/usr/lib/python3/dist-packages/picamera/encoders.py", line 1126, in start
    super(PiCookedOneImageEncoder, self).start(output)
  File "/usr/lib/python3/dist-packages/picamera/encoders.py", line 377, in start
    self.output_port.enable(self._callback)
  File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 1249, in enable
    prefix="Unable to enable port %s" % self.name)
  File "/usr/lib/python3/dist-packages/picamera/exc.py", line 184, in mmal_check
    raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Unable to enable port vc.ril.image_encode:out:0: Out of memory

i also tried to make code to capture alone!

from picamera import PiCamera
from time import sleep

camera = PiCamera()

camera.start_preview()
sleep(5)
camera.capture('/home/pi/Desktop/image.jpg')
camera.stop_preview()

NOTE!: tried to get error code but i got stuck in preview after executing! but otherwise without preview i get this!

mmal: mmal_vc_port_enable: failed to enable port vc.ril.image_encode:out:0(JPEG): ENOMEM
mmal: mmal_port_enable: failed to enable port vc.ril.image_encode:out:0(JPEG)(0x9a5a60) (ENOMEM)

Backend terminated or disconnected. Use 'Stop/Restart' to restart.
eyllanesc
  • 235,170
  • 19
  • 170
  • 241
  • Please Format your code correctly. Dont use snippets to mark python code. Use ctrl + k or enclose the code in triple backticks(```). – Delrius Euphoria Jan 24 '21 at 06:24

1 Answers1

1

nevermind i got it working! here is my code!

from picamera import PiCamera

camera = PiCamera()
camera.resolution = (1920, 1080)

app = App()
def preview():
    camera.start_preview(fullscreen=False, window = (50,150,2048,1152))
    
button = PushButton(app, command=preview, text="preview")
def stop_preview():
    camera.stop_preview()
    
button = PushButton(app, command=stop_preview, text="stop preview")
def shutter():
    camera.capture('/home/pi/Desktop/image.jpg')
    
button = PushButton(app, command=shutter, text="shutter")
app.display()