.Net AI学习笔记系列第九章 OpenCVSharp实操——图像增强

.Net AI学习笔记系列

第九章 OpenCVSharp实操——图像增强



前言

本文主要介绍使用直方图均衡化增强图片效果。直方图均衡化的基本原理是通过将图像的灰度级重新映射到一个更均匀的分布上,使得灰度值更为均匀,从而增强图像的对比度和亮度。这个过程包括统计图像的像素值分布,计算直方图的累积分布函数,进行归一化处理,以及根据新的映射函数重新映射原始图像的像素值。


一、OpenCVSharp实操——图像增强

二、步骤

1.开发工具

	VS2019+.net 4.8+OpenCvSharp4

2.引入库

Install-Package OpenCvSharp4

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp;
using OpenCvSharp.Extensions;

3.示例代码

代码如下(示例):

//通过对彩色图像的每个通道(B、G、R)分别进行直方图均衡化来实现图片增强
 private void button1_Click(object sender, EventArgs e)
 {
     //原图片s
     Mat src = BitmapConverter.ToMat((Bitmap)this.pictureBox1.Image);

     //灰度
     //Mat grayImage = src.CvtColor(ColorConversionCodes.BGR2GRAY);

     // 创建一个与输入图像大小相同的图像,用于存储均衡化后的结果
     //var dst = new Mat();

     // 对输入图像进行直方图均衡化
     //Cv2.EqualizeHist(grayImage, dst);

     // 将输入图像转换为 YCrCb 颜色空间
     var ycrcb = src.CvtColor(ColorConversionCodes.BGR2YCrCb);

     // 分离 YCrCb 图像的 Y、Cr 和 Cb 通道
     var y = ycrcb.Split()[0];
     var cr = ycrcb.Split()[1];
     var cb = ycrcb.Split()[2];

     // 对 Y 通道进行直方图均衡化
     var y_eq = new Mat();
     Cv2.EqualizeHist(y, y_eq);

     // 将均衡化后的 Y 通道与其他通道合并
     var ycrcb_eq = new Mat();
     var channels = new Mat[] { y_eq, cr, cb };
     Cv2.Merge(channels, ycrcb_eq);

     // 将均衡化后的 YCrCb 图像转换回 BGR 颜色空间
     var dst = ycrcb_eq.CvtColor(ColorConversionCodes.YCrCb2BGR);
	  //显示效果图片
     this.pictureBox2.Image = BitmapConverter.ToBitmap(dst);
     this.pictureBox2.Refresh();
 }

4.运行效果

在这里插入图片描述

总结

直方图均衡化是一种图像处理技术,通过重新分配图像像素值的灰度级,增强图像的对比度和亮度。这种方法特别适用于背景和前景都太亮或太暗的图像,能够带来更好的骨骼结构显示以及曝光过度或不足照片中的细节。
直方图均衡化算法简单,易于实现,不改变图像的物理信息,只是对像素值进行重新分布,因此不会对图像的真实信息造成影响。
但直方图均衡化也有不足之处,对处理的数据不加选择,可能会增加背景噪声的对比度并且降低有用信号的对比度。

  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

brooth123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值