首页 > 解决方案 > 如何在 django 中捕获和存储图像

问题描述

我想访问相机。捕获图像并存储在数据库中。

模型.py:

class student(models.Model):   
    Img = models.ImageField(upload_to='images/')

HTML页面:

<!DOCTYPE html>
<html>
<head>
<title> webcam </title>
</head>
<body>
<div class = "video-wrap">
<video id = "video" playsinline autoplay></video>
</div>
<div class = "controller">
<button id = "snap">Capture</button>
</div>
<canvas id = "canvas" width = "640" height = "480">
</canvas>
<script>
'use strict';
const video = document.getElementById('video');
const canvas = document.getElementById('canvas');
const snap = document.getElementById('snap');
const errorMsgElement = document.getElementById('span#ErrorMsg');
const constraints = {
audio:true,
video:{
width:1280,height:720
}};
async function init()
{
try
{
const stream = await navigator.mediaDevices.getUserMedia(constraints);
handleSuccess(stream);
}
catch(e)
{
errorMsgElement.innerHTML
=`navigator.getUserMedia.error:${e.toString()}`;
}
}
function handleSuccess(stream)
{
window.stream = stream;
video.srcObject = stream;
}
init();
var context = canvas.getContext('2d');
snap.addEventListener("click",function(){
context.drawImage(video, 0, 0, 640, 480);});
</script>
</body>
</html>

这个 HTML 页面可以访问相机并且可以捕获。但我不知道如何访问并将其用于模型。谁能帮忙

标签: django

解决方案


您可以使用 open cv 模块来捕获图像。通过使用输入 type=submit 并使用表单,并通过在视图文件 https://github.com/kevinam99/capturing-images-from-webcam-using-opencv-python中定义 open cv 函数


推荐阅读