使用C#操作mongodb 插入OpenCvSharp图像数据

使用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));
                    // 在这里可以对Mat对象进行进一步的处理或显示
                }
            }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值