【问题标题】:how to make Qrcode scanner in django如何在 django 中制作二维码扫描仪
【发布时间】:2021-07-18 11:20:52
【问题描述】:

我如何在 django 中制作 qrcode 扫描仪,例如 this web,这样我就可以在文本中看到结果,而不是在图像视频中

我已经把views.py变成这样了

def camera_feed(request):
    stream = CameraStream()
    frames = stream.get_frames()
    return StreamingHttpResponse(frames, content_type='multipart/x-mixed-replace; boundary=frame')


def detect(request):
    stream = CameraStream()
    success, frame = stream.camera.read()
    if success:
        status = True
    else:
        status = False
        
    return render(request, 'detect_barcodes/detect.html', context={'cam_status': status})

我的 camera_stream.py

class CameraStream(str):
    def __init__(self):
        self.camera = cv2.VideoCapture(0)

    def get_frames(self):
        while True:
            # Capture frame-by-frame
            success, frame = self.camera.read()
            if not success:
                break
            else:
                ret, buffer = cv2.imencode('.jpg', frame)
                color_image = np.asanyarray(frame)
                if decode(color_image):
                    for barcode in decode(color_image):
                        barcode_data = (barcode.data).decode('utf-8')                            
                else:
                    frame = buffer.tobytes()
                    #hasil2 = b'--frame\r\n'b'Content-Type: image/jpeg\r\n\r\n' + barcode_frame + b'\r\n\r\n'                        
                    yield (b'--frame\r\n'
                           b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')

这是我的 urls.py

path('camera_feed', views.camera_feed, name='camera_feed'),
path('detect_barcodes', views.detect, name='detect_barcodes'),

我使用这样的html

<img src="{% url 'qrcode' request.path %}" width="120px" height="120px;">

如何在 html 中传递结果?

【问题讨论】:

    标签: python django qr-code


    【解决方案1】:

    你应该使用 js instascan 而不是使用 open cv2 不需要使用后端,因为服务器负载增加并且你很容易传递解码值

    【讨论】:

      最近更新 更多