【发布时间】:2015-10-27 04:35:10
【问题描述】:
我正在尝试创建一个社交网站。如果有人发布了图像,它将检测图像中的所有面部并在面部绘制一个正方形。然后我想显示图像。我的问题是如何预览图像而不将其保存到文件夹中。这是我的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Drawing;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
public partial class User_AddPhoto : System.Web.UI.Page
{
private HaarCascade haar;
string base64String;
Stream fs;
protected void Page_Load(object sender, EventArgs e)
{
string location = Server.MapPath("~/Bin/") + "haarcascade_frontalface_default.xml";
haar = new HaarCascade(location);
}
protected void Button1_Click(object sender, EventArgs e)
{
/*Image Preview */
//Session["Image"] = FileUpload1.PostedFile;
//fs = FileUpload1.PostedFile.InputStream;
//BinaryReader br = new BinaryReader(fs);
//byte[] bytes = br.ReadBytes((Int32)fs.Length);
//base64String = Convert.ToBase64String(bytes, 0, bytes.Length);
//Image1.ImageUrl = "data:image/png;base64," + base64String;
/***/
////////////////////////////*Detect Face*///////////////////////////
//DetectFaces();
Bitmap bmpImage = new Bitmap(fs);
Image<Bgr, byte> InputFrame = new Image<Bgr, byte>(bmpImage);
Image<Gray, byte> grayFrame = (InputFrame).Convert<Gray, byte>();
MCvAvgComp[][] faces = grayFrame.DetectHaarCascade(
haar,
1.4,
8,
HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,
new Size(20, 20)
);
foreach (MCvAvgComp face in faces[0])
{
InputFrame.Draw(face.rect, new Bgr(Color.Red), 3);
}
Bitmap Display = InputFrame.ToBitmap();
//Display.Save(Server.MapPath("~/Images/aaa.jpg"));
//////////////////////////////////**/////////////////////////////////
/* Photo Inserting Into Folder and Into Database*/
BLUser blUser = new BLUser();
string UserId=Session["UserId"].ToString();
string date = DateTime.Now.ToString("mm-dd_hh_mm_ss");
if (FileUpload1.HasFile)
{
string Extension = Path.GetExtension(FileUpload1.FileName);
string ImageName = date;
string PhotoUrl="~/Images/Posts/" + ImageName + Extension;
FileUpload1.SaveAs(Server.MapPath("~/Images/Posts/" + ImageName + Extension));
blUser.PostImage(PhotoUrl,UserId);
}
/**/
}
}
但我无法预览图像。请帮助我的人。提前致谢:)
【问题讨论】: