我可以在webbrowser MVC中使用车牌识别dll吗?

时间:2017-06-11 09:26:06

标签: c# asp.net-mvc

我正在为我的组织开发一个网站(车牌识别)。我的组织现在使用的系统我觉得它可以更好。

当前申请:

在当前的应用程序中,有一个Windows窗体,它从IP摄像头获取视频流并检测到平板并将平板字符(字符串)发送到我的网站(通过使用API​​服务MVC)。

所以我想删除应用程序(检测盘子的窗体)并将应用程序嵌入到webbrowser中我的意思是我要删除我的Windows窗体应用程序。当我的用户打开网站时,浏览器获取相机流和使用本地DLL来检测盘子(我想检测用户pc内的盘子而不是我的服务器)并在网站上提交盘子字符。

我的问题是:是否可以在浏览器中检测不带应用的板块。

如果是:你能给我更多细节吗?

1 个答案:

答案 0 :(得分:0)

一种流行的方法是使用jQuery网络摄像头插件,如下所示:  https://www.aspsnippets.com/Articles/Capture-Image-Photo-from-Web-Camera-Webcam-in-ASPNet-using-C-and-VBNet.aspx

<form id="form1" runat="server">    
    <table border="0" cellpadding="0"cellspacing="0">    
        <tr>    
            <td align="center">    
                <u>Live Camera</u>    
            </td>    
            <td>    
            </td>    
            <td align="center">    
                <u>Captured Picture</u>
            </td>
        </tr>

        <tr>
            <td>
                <div id="webcam">
                </div>
            </td>
            <td>
                &nbsp;
            </td>
            <td>
                <asp:Image ID="imgCapture" runat="server" Style="visibility: hidden;
                    width: 320px; height: 240px" />
            </td>
        </tr>
    </table>

    <br />

    <asp:Button ID="btnCapture" Text="Capture"runat="server" OnClientClick="return Capture();"/>

    <br />

    <span id="camStatus"></span>
</form>

C#

using System.IO;
using System.Web.Services;

protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        if (Request.InputStream.Length > 0)
        {
            using (StreamReader reader = new StreamReader(Request.InputStream))
            {
                string hexString = Server.UrlEncode(reader.ReadToEnd());
                string imageName = DateTime.Now.ToString("dd-MM-yy hh-mm-ss");
                string imagePath = string.Format("~/Captures/{0}.png", imageName);

                File.WriteAllBytes(Server.MapPath(imagePath), ConvertHexToBytes(hexString));

                Session["CapturedImage"] = ResolveUrl(imagePath);
            }
        }
    }
}

private static byte[] ConvertHexToBytes(string hex)
{
    byte[] bytes = new byte[hex.Length / 2];

    for (int i = 0; i < hex.Length; i += 2)
    {
        bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
    }

    return bytes;
}

[WebMethod(EnableSession = true)]
public static string GetCapturedImage()
{
    string url = HttpContext.Current.Session["CapturedImage"].ToString();

    HttpContext.Current.Session["CapturedImage"] = null;

    return url;
}

您可以相对轻松地将其更改为与MVC一起使用。这是一个很好的例子:http://www.c-sharpcorner.com/UploadFile/4d9083/capturing-image-from-web-cam-in-Asp-Net-mvc139/