Best way to load image from list python script
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
$begingroup$
For some reason i have append images , now i want load all image by step.
image_path = C:
image_list=
for fn in os.listdir(image_path):
image_list.append(fn)
###first_image = bpy.data.images.load(image_list[0]) <----?
###second_image = bpy.data.images.load(image_list[1]) <----?
python
$endgroup$
add a comment |
$begingroup$
For some reason i have append images , now i want load all image by step.
image_path = C:
image_list=
for fn in os.listdir(image_path):
image_list.append(fn)
###first_image = bpy.data.images.load(image_list[0]) <----?
###second_image = bpy.data.images.load(image_list[1]) <----?
python
$endgroup$
add a comment |
$begingroup$
For some reason i have append images , now i want load all image by step.
image_path = C:
image_list=
for fn in os.listdir(image_path):
image_list.append(fn)
###first_image = bpy.data.images.load(image_list[0]) <----?
###second_image = bpy.data.images.load(image_list[1]) <----?
python
$endgroup$
For some reason i have append images , now i want load all image by step.
image_path = C:
image_list=
for fn in os.listdir(image_path):
image_list.append(fn)
###first_image = bpy.data.images.load(image_list[0]) <----?
###second_image = bpy.data.images.load(image_list[1]) <----?
python
python
edited Apr 2 at 8:54
Andrea
asked Apr 2 at 8:20
AndreaAndrea
6019
6019
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
Try this to batch load a list of images in a folder:
import bpy
from os.path import join, isfile
from os import listdir
imageObjects =
imagePath = '/users/you/yourImagePath'
imgFiles = [
join( imagePath, fn ) # Create full paths to images
for fn in listdir( imagePath ) # For each item in the image folder
if isfile( join( imagePath, fn ) ) # If the item is indeed a file
and fn.lower().endswith(('.png','.jpg')) # Which ends with an image suffix (can add more types here if needed)
]
# Load entire list of images
for imgFile in imgFiles:
# Add to image object list to use later
imageObjects.append( bpy.data.images.load( imgFile ) )
# Load a specific index from the list (5th in the list in this example)
imgObj = bpy.data.images.load( imgFiles[4] )
$endgroup$
$begingroup$
ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
$endgroup$
– Andrea
Apr 2 at 8:48
1
$begingroup$
@Andrea see edit and LMK if this is what you meant
$endgroup$
– TLousky
Apr 2 at 8:57
$begingroup$
Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
$endgroup$
– Andrea
Apr 2 at 9:25
1
$begingroup$
try to replace the imports from os.path and addbasename
. Like this:from os.path import join, isfile, basename
. Then use it in the diffuse.name:diffuse.name = basename(imgFiles[0])
. Basename extracts the filename from a full path.
$endgroup$
– TLousky
Apr 2 at 9:34
$begingroup$
Work very fine is very usefull, ty
$endgroup$
– Andrea
Apr 2 at 9:41
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "502"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fblender.stackexchange.com%2fquestions%2f135956%2fbest-way-to-load-image-from-list-python-script%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Try this to batch load a list of images in a folder:
import bpy
from os.path import join, isfile
from os import listdir
imageObjects =
imagePath = '/users/you/yourImagePath'
imgFiles = [
join( imagePath, fn ) # Create full paths to images
for fn in listdir( imagePath ) # For each item in the image folder
if isfile( join( imagePath, fn ) ) # If the item is indeed a file
and fn.lower().endswith(('.png','.jpg')) # Which ends with an image suffix (can add more types here if needed)
]
# Load entire list of images
for imgFile in imgFiles:
# Add to image object list to use later
imageObjects.append( bpy.data.images.load( imgFile ) )
# Load a specific index from the list (5th in the list in this example)
imgObj = bpy.data.images.load( imgFiles[4] )
$endgroup$
$begingroup$
ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
$endgroup$
– Andrea
Apr 2 at 8:48
1
$begingroup$
@Andrea see edit and LMK if this is what you meant
$endgroup$
– TLousky
Apr 2 at 8:57
$begingroup$
Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
$endgroup$
– Andrea
Apr 2 at 9:25
1
$begingroup$
try to replace the imports from os.path and addbasename
. Like this:from os.path import join, isfile, basename
. Then use it in the diffuse.name:diffuse.name = basename(imgFiles[0])
. Basename extracts the filename from a full path.
$endgroup$
– TLousky
Apr 2 at 9:34
$begingroup$
Work very fine is very usefull, ty
$endgroup$
– Andrea
Apr 2 at 9:41
add a comment |
$begingroup$
Try this to batch load a list of images in a folder:
import bpy
from os.path import join, isfile
from os import listdir
imageObjects =
imagePath = '/users/you/yourImagePath'
imgFiles = [
join( imagePath, fn ) # Create full paths to images
for fn in listdir( imagePath ) # For each item in the image folder
if isfile( join( imagePath, fn ) ) # If the item is indeed a file
and fn.lower().endswith(('.png','.jpg')) # Which ends with an image suffix (can add more types here if needed)
]
# Load entire list of images
for imgFile in imgFiles:
# Add to image object list to use later
imageObjects.append( bpy.data.images.load( imgFile ) )
# Load a specific index from the list (5th in the list in this example)
imgObj = bpy.data.images.load( imgFiles[4] )
$endgroup$
$begingroup$
ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
$endgroup$
– Andrea
Apr 2 at 8:48
1
$begingroup$
@Andrea see edit and LMK if this is what you meant
$endgroup$
– TLousky
Apr 2 at 8:57
$begingroup$
Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
$endgroup$
– Andrea
Apr 2 at 9:25
1
$begingroup$
try to replace the imports from os.path and addbasename
. Like this:from os.path import join, isfile, basename
. Then use it in the diffuse.name:diffuse.name = basename(imgFiles[0])
. Basename extracts the filename from a full path.
$endgroup$
– TLousky
Apr 2 at 9:34
$begingroup$
Work very fine is very usefull, ty
$endgroup$
– Andrea
Apr 2 at 9:41
add a comment |
$begingroup$
Try this to batch load a list of images in a folder:
import bpy
from os.path import join, isfile
from os import listdir
imageObjects =
imagePath = '/users/you/yourImagePath'
imgFiles = [
join( imagePath, fn ) # Create full paths to images
for fn in listdir( imagePath ) # For each item in the image folder
if isfile( join( imagePath, fn ) ) # If the item is indeed a file
and fn.lower().endswith(('.png','.jpg')) # Which ends with an image suffix (can add more types here if needed)
]
# Load entire list of images
for imgFile in imgFiles:
# Add to image object list to use later
imageObjects.append( bpy.data.images.load( imgFile ) )
# Load a specific index from the list (5th in the list in this example)
imgObj = bpy.data.images.load( imgFiles[4] )
$endgroup$
Try this to batch load a list of images in a folder:
import bpy
from os.path import join, isfile
from os import listdir
imageObjects =
imagePath = '/users/you/yourImagePath'
imgFiles = [
join( imagePath, fn ) # Create full paths to images
for fn in listdir( imagePath ) # For each item in the image folder
if isfile( join( imagePath, fn ) ) # If the item is indeed a file
and fn.lower().endswith(('.png','.jpg')) # Which ends with an image suffix (can add more types here if needed)
]
# Load entire list of images
for imgFile in imgFiles:
# Add to image object list to use later
imageObjects.append( bpy.data.images.load( imgFile ) )
# Load a specific index from the list (5th in the list in this example)
imgObj = bpy.data.images.load( imgFiles[4] )
edited Apr 2 at 8:56
answered Apr 2 at 8:41
TLouskyTLousky
12.3k11950
12.3k11950
$begingroup$
ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
$endgroup$
– Andrea
Apr 2 at 8:48
1
$begingroup$
@Andrea see edit and LMK if this is what you meant
$endgroup$
– TLousky
Apr 2 at 8:57
$begingroup$
Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
$endgroup$
– Andrea
Apr 2 at 9:25
1
$begingroup$
try to replace the imports from os.path and addbasename
. Like this:from os.path import join, isfile, basename
. Then use it in the diffuse.name:diffuse.name = basename(imgFiles[0])
. Basename extracts the filename from a full path.
$endgroup$
– TLousky
Apr 2 at 9:34
$begingroup$
Work very fine is very usefull, ty
$endgroup$
– Andrea
Apr 2 at 9:41
add a comment |
$begingroup$
ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
$endgroup$
– Andrea
Apr 2 at 8:48
1
$begingroup$
@Andrea see edit and LMK if this is what you meant
$endgroup$
– TLousky
Apr 2 at 8:57
$begingroup$
Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
$endgroup$
– Andrea
Apr 2 at 9:25
1
$begingroup$
try to replace the imports from os.path and addbasename
. Like this:from os.path import join, isfile, basename
. Then use it in the diffuse.name:diffuse.name = basename(imgFiles[0])
. Basename extracts the filename from a full path.
$endgroup$
– TLousky
Apr 2 at 9:34
$begingroup$
Work very fine is very usefull, ty
$endgroup$
– Andrea
Apr 2 at 9:41
$begingroup$
ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
$endgroup$
– Andrea
Apr 2 at 8:48
$begingroup$
ty but i have to load not full image list because have some variable by controlling the loading , i have to know the way by load single image from list. for example the first image of the list and in the second step , load second image.
$endgroup$
– Andrea
Apr 2 at 8:48
1
1
$begingroup$
@Andrea see edit and LMK if this is what you meant
$endgroup$
– TLousky
Apr 2 at 8:57
$begingroup$
@Andrea see edit and LMK if this is what you meant
$endgroup$
– TLousky
Apr 2 at 8:57
$begingroup$
Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
$endgroup$
– Andrea
Apr 2 at 9:25
$begingroup$
Sorry @TLousky in the first time i put name of node with diffuse = nodes.new(type='ShaderNodeTexImage') diffuse.location = (-600,550) diffuse.name = imgFiles[0] now name is all path of image.. in the first time is only image name. an idea?
$endgroup$
– Andrea
Apr 2 at 9:25
1
1
$begingroup$
try to replace the imports from os.path and add
basename
. Like this: from os.path import join, isfile, basename
. Then use it in the diffuse.name: diffuse.name = basename(imgFiles[0])
. Basename extracts the filename from a full path.$endgroup$
– TLousky
Apr 2 at 9:34
$begingroup$
try to replace the imports from os.path and add
basename
. Like this: from os.path import join, isfile, basename
. Then use it in the diffuse.name: diffuse.name = basename(imgFiles[0])
. Basename extracts the filename from a full path.$endgroup$
– TLousky
Apr 2 at 9:34
$begingroup$
Work very fine is very usefull, ty
$endgroup$
– Andrea
Apr 2 at 9:41
$begingroup$
Work very fine is very usefull, ty
$endgroup$
– Andrea
Apr 2 at 9:41
add a comment |
Thanks for contributing an answer to Blender Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fblender.stackexchange.com%2fquestions%2f135956%2fbest-way-to-load-image-from-list-python-script%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown