在Django中使用cv2.imread()读取图像时出错视图.py

2024-06-16 10:34:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图对一个图像应用图像处理,我通过Django的views.py文件中的cv2.imread()加载,但每次都会得到一个AttributeError。在

以下是层次结构

Heirarchy


视图.py我试图通过它来阅读temp321.jpg:

def process_image(request):
    url = "static/images/temp321.jpg"
    a = cv2.imread(url)
    r, c = a.shape


错误我得到:

Error message snapshot

我做错什么了?在


Tags: 文件djangopy图像视图url层次结构def
1条回答
网友
1楼 · 发布于 2024-06-16 10:34:52

此错误表示a为None。其中a是调用cv2.imread的结果

If the image cannot be read (because of missing file, improper permissions, unsupported or invalid format), the function returns an empty matrix

这是来自CV2C文档。这在python中转换为None。所以问题本质上是你的文件没有被读取。在

解决方案: 如果在设置.py文件

os.path.join(PROJECT_ROOT, "static/images/temp321.jpg")

如果您没有PROJECT_ROOT设置,请添加到设置.py在

^{pr2}$

请注意,如果在生产环境中执行此操作,则可能仍有问题,因为可能不允许Web服务器从该目录中读取。在这种情况下,您需要更改文件系统权限

相关问题 更多 >