机器视觉-7 检测原理之预处理(图像增强)

在图像处理领域,图像增强是一个非常重要的技术,目的是通过调整图像的某些特征来改善图像的视觉效果,或为后续的图像分析和处理做准备。在 OpenCV 中,C++ 提供了多种图像增强方法,包括直方图均衡化、对比度拉伸、锐化、边缘增强等操作。下面详细介绍 C++ 中使用 OpenCV 进行图像增强的常用方法,并附上代码示例。

1. 直方图均衡化 (Histogram Equalization)

直方图均衡化是一种常用的图像增强技术,主要用于改善图像的对比度,使图像的灰度值分布更加均匀,适合处理光照不均的图像。

代码实现:
#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
    // 读取灰度图像
    Mat image = imread("image.jpg", IMREAD_GRAYSCALE);

    if (image.empty()) {
        return -1;
    }

    // 直方图均衡化
    Mat equalized_image;
    equalizeHist(image, equalized_image);

    // 显示原图和均衡化后的图像
    imshow("Original Image", image);
    imshow("Equalized Image", equalized_image);
    waitKey(0);
    return 0;
}

主要函数:
  • equalizeHist():用于对图像进行直方图均衡化。只能应用于灰度图像。

2. CLAHE (对比度受限自适应直方图均衡化)

CLAHE(Contrast Limited Adaptive Histogram Equalization)是一种改进的直方图均衡化方法,它将图像分成小块(称为 tiles),分别对每个块进行直方图均衡化,避免了传统均衡化中可能产生的过度增强现象。

代码实现:
#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
    // 读取灰度图像
    Mat image = imread("image.jpg", IMREAD_GRAYSCALE);

    if (image.empty()) {
        return -1;
    }

    // 创建CLAHE对象
    Ptr<CLAHE> clahe = createCLAHE();
    clahe->setClipLimit(2.0); // 设置对比度限制

    Mat clahe_image;
    clahe->apply(image, clahe_image);

    // 显示原图和CLAHE增强后的图像
    imshow("Original Image", image);
    imshow("CLAHE Image", clahe_image);
    waitKey(0);
    return 0;
}

主要函数:
  • createCLAHE():创建一个 CLAHE 对象。
  • setClipLimit():设置 CLAHE 的对比度限制。

3. 亮度与对比度调整 (Brightness and Contrast Adjustment)

通过线性变换可以直接调整图像的亮度和对比度。调整亮度通常是在图像上加上一个常数,而调整对比度则是对图像乘以一个系数。

公式为:

new_image=α×image+β

其中,alpha 是对比度因子,beta 是亮度偏移值。

代码实现:
#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
    // 读取图像
    Mat image = imread("image.jpg");

    if (image.empty()) {
        return -1;
    }

    Mat new_image = Mat::zeros(image.size(), image
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值