使用C#操作mongodb 插入OpenCvSharp图像数据
public class JudgeInfo
{
public MongoDB.Bson.ObjectId Id { get; set; }
public string imgPath { get; set; }
public int defectName { get; set; }
public BsonBinaryData imgByte{ get; set; }
}
插入
MongoClient mongoClient = new MongoClient("mongodb://127.0.0.1:27017");
IMongoDatabase mydb = mongoClient.GetDatabase("Lead");
var collection = mydb.GetCollection<JudgeInfo>("JudgeCL");
JudgeInfo model = new JudgeInfo();
model.imgPath = @"D:\\Org1.png";
OpenCvSharp.Mat image = new OpenCvSharp.Mat(@"D:\\Org1.png", OpenCvSharp.ImreadModes.Color);
byte[] imageBytes = image.ToBytes(".jpg");
model.imgByte =new BsonBinaryData(imageBytes);
collection.InsertOne(model);
MessageBox.Show("添加成功!");
搜寻查看
MongoClient mongoClient = new MongoClient("mongodb://127.0.0.1:27017");
IMongoDatabase mydb = mongoClient.GetDatabase("Lead");
var collection = mydb.GetCollection<JudgeInfo>("JudgeCL");
var list = collection.Find(x => x.imgPath.Contains("")).SortByDescending(x => x.Id).Skip(0).Limit(1).ToList();
foreach (var item in list)
{
var imageBytes = item.imgByte.AsByteArray;
using (var stream = new MemoryStream(imageBytes))
{
Bitmap xxx = new Bitmap(stream);
xxx.Save("xxxxzzxxxx.bmp");
var mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(new Bitmap(stream));
}
}