【发布时间】:2019-04-07 01:45:05
【问题描述】:
- OpenCV => 3.4,操作系统/平台 => Ubuntu18.4,编译器 => Pycharm2018,Django => 2.1.2
我正在尝试从数据库中获取图像并对图像进行编码以进行人脸识别。
型号
from django.db import models
class Image(models.Model):
name = models.CharField(max_length=500)
imagefile = models.FileField(upload_to='images/', null=True, verbose_name="")
def __str__(self):
return self.name + ": " + str(self.imagefile)
读取图片
from .models import Image
import cv2
lastimage = Image.objects.last()
imagefile = lastimage.imagefile
image = cv2.imread(imagefile)
cv2.imshow('image',image)
错误 得到这个错误
异常类型:TypeError
异常值:内置操作的参数类型错误
【问题讨论】:
-
如果你想从内存缓冲区而不是文件解码,你正在寻找
cv2.imdecode。 -
FileField存储文件的路径,相对于您的MEDIA_ROOT。在我看来,如果您希望能够读取文件,您将希望获得完整路径。 -
图片不存入数据库,只保存表示图片路径的字符串。
标签: python django sqlite opencv django-models