I'm making an addon that allows to easily point to some images and add them as a sequence background image to the scene camera:

cam = bpy.context.scene.camera


img = bpy.data.images.load(notePath)
img.source = 'SEQUENCE'
img.name = 'SketchNotes'
cam.data.show_background_images = True
bg = cam.data.background_images.new()
bg.image = img
bg.image_user.frame_duration = bpy.context.scene.frame_end
bg.image_user.frame_start = 1
bg.frame_method = 'CROP'

Now, since it is intended to be used potentially many times, and each time with new files that make the previous ones outdated, I would like to remove any background image previously made by the addon. And that's where I am stuck.

From this: CameraBackgroundImages(bpy_struct) — Blender Python API

I figure I should use remove(image), but I can't figure out how to use it to target only the background images made by my addon. I was hoping I could use the image name SketchNotes to target it.
I can't either use indexes as in bpy.ops.view3d.background_image_remove(index=0) because I can't be sure the user will use the background images in any particular order (plus this one requires specific contexts to work).

In the meantime I use bpy.context.scene.camera.data.background_images.clear() as in my second line, which works, but it can annoy some people that would want to keep other background images that should not be bothered by my script.

Thanks for any help!


1 Answer 1


The remove method takes the background image object as argument. So in case of your code snippet:


And I think you have to call the update method after that to update the UI.


When you don't have the background image object in memory anymore, but the image name instead, you can always search for it, of course:

for bgi in cam.data.background_images:
    if bgi.image and bgi.image.name == your_added_background_image_name:
  • $\begingroup$ Thanks, I think I will try the second method. I'll let you know as soon as I'm back on a computer! $\endgroup$
    – L0Lock
    Sep 14, 2022 at 6:36
  • $\begingroup$ Yup, second one is the one! Thanks! $\endgroup$
    – L0Lock
    Sep 14, 2022 at 14:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .