如何解决 OpenCV 中出现的“NameError: name 'frame' is not defined”错误?
Posted
技术标签:
【中文标题】如何解决 OpenCV 中出现的“NameError: name \'frame\' is not defined”错误?【英文标题】:How to solve the "NameError: name 'frame' is not defined" error occured in OpenCV?如何解决 OpenCV 中出现的“NameError: name 'frame' is not defined”错误? 【发布时间】:2021-11-18 14:37:30 【问题描述】:import imgaug.augmenters as iaa
import cv2
import glob
from tkinter import Frame
from tkinter import Text
from tkinter import Label
# 1. Load Dataset
images = []
images_path = glob.glob("images/*.jpg")
for img_path in images_path:
img = cv2.imread(img_path)
images.append(img)
# 2. Image Augmentation
augmentation = iaa.Sequential([
# 1. Flip
iaa.Fliplr(0.5),
iaa.Flipud(0.5),
# 2. Affine
iaa.Affine(translate_percent="x": (-0.2, 0.2), "y": (-0.2, 0.2),
rotate=(-30, 30),
scale=(0.5, 1.5)),
# 3. Multiply
iaa.Multiply((0.8, 1.2)),
# 4. Linearcontrast
iaa.LinearContrast((0.6, 1.4)),
# Perform methods below only sometimes
iaa.Sometimes(0.5,
# 5. GaussianBlur
iaa.GaussianBlur((0.0, 3.0))
)
])
# 3. Show Images
counter = 0
while True:
augmented_images = augmentation(images=images)
for img in augmented_images:
counter += 1
cv2.imwrite(str(counter) + ".jpg", frame)
cv2.imwrite('Desktop/images/dog.jpg', img) # desired save location
cv2.waitKey(0)
"Traceback(最近一次调用最后一次): 文件“C:/Users/MC/PycharmProjects/pythonProject/Python_Augmentation.py”,第 48 行,在 cv2.imwrite(str(计数器)+“.jpg”,帧) NameError: name 'frame' is not defined"
图像增强代码运行良好,但是当我尝试保存增强图像时出现此错误。我也使用了大写的“F”而不是“f”(框架),但又出现了一个错误。
"Traceback(最近一次调用最后一次): 文件“C:/Users/MC/PycharmProjects/pythonProject/Python_Augmentation.py”,第 49 行,在 cv2.imwrite(str(计数器)+“.jpg”,帧) cv2.error: OpenCV(4.5.4-dev) :-1: error: (-5:Bad argument) in function 'imwrite'
重载解析失败:
img 不是 numpy 数组,也不是标量 参数“img”的预期 Ptr<:umat>"
任何类型的帮助都是值得赞赏的。提前致谢。
【问题讨论】:
我看不到您在哪里定义了frame
变量。此错误是因为未声明该变量名。也许您想将所有内容放在另一个 for
循环中,例如 for frame in img
感谢您的评论。我是 python 编程的新手。请您提一下我需要在哪里添加“img 中的框架”?
请看我贴的答案。
【参考方案1】:
导入是: 从 tkinter 导入 框架
但您在第 48 行使用:frame(较低的 'f')。
【讨论】:
通过将 Python 类对象 传递给旨在将图像保存 到磁盘的函数,您究竟希望实现什么? 其实我在学习python和OpenCV。我想保存增强的图像并将它们单独用于其他目的。以上是关于如何解决 OpenCV 中出现的“NameError: name 'frame' is not defined”错误?的主要内容,如果未能解决你的问题,请参考以下文章