python opencv 增强对比度

通过Python的OpenCV库,对一片漆黑的图片进行处理,增强其对比度,使得原本难以辨识的小猫变得清晰可见,直方图显示图像像素分布集中,经过处理后,小猫的可爱形象得以展现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import cv2
import numpy as np
from matplotlib import pyplot as plt
img=cv2.imread('miao.jpg',0)
hist=cv2.calcHist([img],[0]
Python中使用OpenCV进行对比度增强是一种常见的图像处理技术。对比度增强可以使图像的细节更加明显,从而提高图像的质量。以下是几种常用的对比度增强方法: 1. **线性对比度增强**: 通过线性变换调整图像的对比度。公式如下: \[ g(x, y) = \alpha \cdot f(x, y) + \beta \] 其中,\( \alpha \) 是对比度控制参数,\( \beta \) 是亮度控制参数。 2. **直方图均衡化**: 通过重新分布图像的亮度值来增强对比度,使得图像的直方图尽可能均匀分布。 3. **自适应直方图均衡化(CLAHE)**: 类似于直方图均衡化,但在图像的不同区域分别进行均衡化,从而避免过度增强。 以下是一个使用OpenCV进行对比度增强的示例代码: ```python import cv2 import numpy as np # 读取图像 image = cv2.imread('input_image.jpg') # 线性对比度增强 alpha = 1.5 # 对比度控制参数 beta = 30 # 亮度控制参数 adjusted = cv2.convertScaleAbs(image, alpha=alpha, beta=beta) # 直方图均衡化 gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) equalized = cv2.equalizeHist(gray_image) # 自适应直方图均衡化 clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8)) clahe_adjusted = clahe.apply(gray_image) # 显示结果 cv2.imshow('Original Image', image) cv2.imshow('Linear Contrast', adjusted) cv2.imshow('Histogram Equalization', equalized) cv2.imshow('CLAHE', clahe_adjusted) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在这个示例中,我们首先读取图像,然后应用线性对比度增强、直方图均衡化和自适应直方图均衡化。最后,使用`cv2.imshow`函数显示处理后的图像。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值