# Revision history [back]

So as part of a larger project here I've got this function meant to iterate through a directory of images and then perform some operations on them, mainly the function imageToPoints which is currently commented out for testing purposes but which basically runs a findContour, extracts the points and appends them to a list.

So as it currently stands the code is meant to read in one image at a time, print its name (which it does) then display the image (which it doesn't) suggesting the image isn't being read correctly. I figure I need to include cv.imread somehow but not sure exactly how.

def imagesToList():
# Iterates through directory and processes each image into array

for img in os.listdir(DIRECTORY + 'TestPhotos/'):
# Filters out any rogue files (e.g. hidden)
if img.endswith(".png"):
camNum, imgNum = os.path.splitext(img)[0].split('img')
# print 'Camera is ', camNum
# print 'Image is ', imgNum

# Correction of values will be different for cams 1 & 2
if camNum == 1:
# Correction values here

zVal = imgNum*numMoves
#imageToPoints(img)
print img
cv.imshow('image',img)

else: #camNum == 2:
# Correction values here

zVal = imgNum*numMoves
#imageToPoints(img)
print img
cv.imshow('image',img)

#else: print '''not of format [x]img[y]'''


Returns:

2img1.png
Traceback (most recent call last):
File "I2LTEST5.py", line 81, in <module>
imagesToList()
File "I2LTEST5.py", line 76, in imagesToList
cv.imshow('image',img)
TypeError: mat is not a numpy array, neither a scalar


Which suggests to me that the image isn't being read in correctly.

Many thanks for your help and if you're willing to help a university student finish his honours project then your help at my GitHub would be really appreciated!

So as part of a larger project here I've got this function meant to iterate through a directory of images and then perform some operations on them, mainly the function imageToPoints which is currently commented out for testing purposes but which basically runs a findContour, extracts the points and appends them to a list.

So as it currently stands the code is meant to read in one image at a time, print its name (which it does) then display the image (which it doesn't) suggesting the image isn't being read correctly. I figure I need to include cv.imread somehow but not sure exactly how.

def imagesToList():
# Iterates through directory and processes each image into array

for img in os.listdir(DIRECTORY + 'TestPhotos/'):
# Filters out any rogue files (e.g. hidden)
if img.endswith(".png"):
camNum, imgNum = os.path.splitext(img)[0].split('img')
# print 'Camera is ', camNum
# print 'Image is ', imgNum

# Correction of values will be different for cams 1 & 2
if camNum == 1:
# Correction values here

zVal = imgNum*numMoves
#imageToPoints(img)
print img
cv.imshow('image',img)

else: #camNum == 2:
# Correction values here

zVal = imgNum*numMoves
#imageToPoints(img)
print img
cv.imshow('image',img)

#else: print '''not of format [x]img[y]'''


Returns:

2img1.png
Traceback (most recent call last):
File "I2LTEST5.py", line 81, in <module>
imagesToList()
File "I2LTEST5.py", line 76, in imagesToList
cv.imshow('image',img)
TypeError: mat is not a numpy array, neither a scalar


Which suggests to me that the image isn't being read in correctly.

Many thanks for your help and if you're willing to help a university student finish his honours project then your help at my GitHub would be really appreciated!

So as part of a larger project here I've got this function meant to iterate through a directory of images and then perform some operations on them, mainly the function imageToPoints which is currently commented out for testing purposes but which basically runs a findContour, extracts the points and appends them to a list.

So as it currently stands the code is meant to read in one image at a time, print its name (which it does) then display the image (which it doesn't) suggesting the image isn't being read correctly. I figure I need to include cv.imread somehow but not sure exactly how.

def imagesToList():
# Iterates through directory and processes each image into array

for img in os.listdir(DIRECTORY + 'TestPhotos/'):
# Filters out any rogue files (e.g. hidden)
if img.endswith(".png"):
camNum, imgNum = os.path.splitext(img)[0].split('img')
# print 'Camera is ', camNum
# print 'Image is ', imgNum

# Correction of values will be different for cams 1 & 2
if camNum == 1:
# Correction values here

zVal = imgNum*numMoves
#imageToPoints(img)
print img
cv.imshow('image',img)

else: #camNum == 2:
# Correction values here

zVal = imgNum*numMoves
#imageToPoints(img)
print img
cv.imshow('image',img)

#else: print '''not of format [x]img[y]'''


Returns:

2img1.png
Traceback (most recent call last):
File "I2LTEST5.py", line 81, in <module>
imagesToList()
File "I2LTEST5.py", line 76, in imagesToList
cv.imshow('image',img)
TypeError: mat is not a numpy array, neither a scalar


Which suggests to me that the image isn't being read in correctly.

Many thanks for your help and if you're willing to help a university student finish his honours project then your help at my GitHub would be really appreciated!