基于OpenCV的图像暗光增强 昏暗场景图像增强 图像增强mrscr

📅 发布时间:2026/7/17 20:53:09 👁️ 浏览次数:
基于OpenCV的图像暗光增强 昏暗场景图像增强 图像增强mrscr
OpenCV 图像增强教程1. 简介OpenCV是一个开源的计算机视觉库提供了丰富的图像处理功能。本教程将介绍如何使用OpenCV进行常见的图像增强操作。2. 安装OpenCVpip install opencv-python pip install opencv-contrib-python# 包含额外模块3. 基本图像增强技术3.1 读取和显示图像importcv2# 读取图像imgcv2.imread(image.jpg)# 显示图像cv2.imshow(Original Image,img)cv2.waitKey(0)cv2.destroyAllWindows()3.2 调整亮度和对比度# 调整亮度和对比度alpha1.5# 对比度控制(1.0-3.0)beta30# 亮度控制(0-100)adjustedcv2.convertScaleAbs(img,alphaalpha,betabeta)cv2.imshow(Adjusted Image,adjusted)3.3 直方图均衡化# 灰度图像直方图均衡化graycv2.cvtColor(img,cv2.COLOR_BGR2GRAY)equalizedcv2.equalizeHist(gray)cv2.imshow(Equalized Grayscale,equalized)# 彩色图像直方图均衡化# 转换为YCrCb色彩空间img_yuvcv2.cvtColor(img,cv2.COLOR_BGR2YUV)# 对Y通道进行直方图均衡化img_yuv[:,:,0]cv2.equalizeHist(img_yuv[:,:,0])# 转换回BGRequalized_colorcv2.cvtColor(img_yuv,cv2.COLOR_YUV2BGR)cv2.imshow(Equalized Color,equalized_color)4. 高级图像增强技术4.1 锐化图像# 使用拉普拉斯算子锐化kernelnp.array([[0,-1,0],[-1,5,-1],[0,-1,0]])sharpenedcv2.filter2D(img,-1,kernel)cv2.imshow(Sharpened Image,sharpened)4.2 去噪# 高斯模糊去噪blurredcv2.GaussianBlur(img,(5,5),0)cv2.imshow(Gaussian Blur,blurred)# 非局部均值去噪denoisedcv2.fastNlMeansDenoisingColored(img,None,10,10,7,21)cv2.imshow(Denoised Image,denoised)4.3 边缘增强# Canny边缘检测edgescv2.Canny(img,100,200)cv2.imshow(Edges,edges)# 将边缘叠加到原图img_with_edgescv2.addWeighted(img,0.7,cv2.cvtColor(edges,cv2.COLOR_GRAY2BGR),0.3,0)cv2.imshow(Image with Enhanced Edges,img_with_edges)5. 色彩增强5.1 白平衡# 简单白平衡算法defwhite_balance(img):resultcv2.cvtColor(img,cv2.COLOR_BGR2LAB)avg_anp.average(result[:,:,1])avg_bnp.average(result[:,:,2])result[:,:,1]result[:,:,1]-((avg_a-128)*(result[:,:,0]/255.0)*1.1)result[:,:,2]result[:,:,2]-((avg_b-128)*(result[:,:,0]/255.0)*1.1)resultcv2.cvtColor(result,cv2.COLOR_LAB2BGR)returnresult balancedwhite_balance(img)cv2.imshow(White Balanced,balanced)5.2 饱和度调整# 增加饱和度hsvcv2.cvtColor(img,cv2.COLOR_BGR2HSV)hsv[:,:,1]hsv[:,:,1]*1.5# 增加饱和度通道saturatedcv2.cvtColor(hsv,cv2.COLOR_HSV2BGR)cv2.imshow(Saturated Image,saturated)6. 保存处理后的图像cv2.imwrite(enhanced_image.jpg,enhanced_img)7. 总结本教程介绍了OpenCV中常用的图像增强技术包括亮度对比度调整、直方图均衡化、锐化、去噪、边缘增强和色彩增强等。这些技术可以单独使用也可以组合使用以获得更好的效果。要获得最佳效果建议根据具体图像特点调整参数并尝试不同的技术组合。本文效果代码