[英]How to pass multiple images to a function in a correct way using OpenCV with Python
我有 2 个 python 文件和一张图片:
函数.py
import numpy as np
import cv2
def imageinput(image_name_with_extension):
img = cv2.imread(image_name_with_extension,1)
grayscale = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("grayscaled.jpg",grayscale)
我的图片: image1.jpg
和下一个python文件: main.py
import numpy as np
import cv2
from functions import imageinput
print(imageinput(image1.jpg))
以及以下错误消息:
打印(图像输入(图像1.jpg))
NameError: 名称 'image1' 未定义
这是我的问题的一个简化示例。 在这个例子中,functions.py 使我的图片灰度化,然后在单独的窗口中显示灰度图片。 我的问题是虽然我有 10 张图片,但我希望我的main.py像这样工作:
import numpy as np
import cv2
from functions import imageinput
print(imageinput(image1.jpg))
print(imageinput(image2.jpg))
print(imageinput(image3.jpg))
print(imageinput(image4.jpg))
print(imageinput(image5.jpg))
print(imageinput(image6.jpg))
print(imageinput(image7.jpg))
print(imageinput(image8.jpg))
print(imageinput(image9.jpg))
print(imageinput(image10.jpg))
我只是希望我的所有图片都与我上面描述的功能分开工作,但我收到了该错误消息。 我该如何解决这个问题或者我写错了什么?
我使用以下版本:Python 3.6.0 和 OpenCV 4.1.1.26
将图像文件名放在引号之间。
print(imageinput('image1.jpg'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.