图像亮暗不均匀,如何去除背景或者怎么处理可以让图像暗的地方亮一些,亮的地方暗一些

cv::Mat correctUnevenIllumination(const cv::Mat& gray)

{

CV_Assert(gray.type() == CV_8U);

// 1. 估计背景

cv::Mat background;

cv::GaussianBlur(

gray,

background,

cv::Size(0, 0),

30

);

// 2. 转 float

cv::Mat imgF, bgF;

gray.convertTo(imgF, CV_32F);

background.convertTo(bgF, CV_32F);

// 3. 除法校正

cv::Mat corrected;

corrected = imgF / (bgF + 1.0f);

// 4. 归一化

cv::normalize(

corrected,

corrected,

0,

255,

cv::NORM_MINMAX

);

// 5. 转回 8bit

cv::Mat result;

corrected.convertTo(result, CV_8U);

return result;

}

处理前后对比,效果可以

相关推荐
Nablai5 小时前
从供应链与合规看:AI 玩具为何需要多芯片路线
人工智能
王清欢Randy5 小时前
AI 时代的 “黑客与画家”
人工智能·程序人生·ai编程·程序员技能
鲜于言悠9055 小时前
告别AI界面翻车!深度拆解MCP Apps与A2UI两套生成式UI协议
人工智能
大模型码小白5 小时前
数据可视化:AI 生成 HTML5 动态交互式数据图表
前端·数据库·人工智能·深度学习·机器学习·信息可视化·html5
星核0penstarry6 小时前
ToolGrad:把数据生成倒过来,工具调用样本通过率提到 99.8%
人工智能·测试工具·llm·函数调用·数据合成·文本调用
南京兴帝文化传媒有限公司6 小时前
基于地图平台的本地商户信息优化:药店夜间服务标注与客户转化实操
前端·javascript·数据库·人工智能·geo 优化·geo优化避坑·ai搜索获客
tachibana26 小时前
WebSocket 和 SSE 通信的区别及局限性
网络·人工智能·websocket·网络协议·ai·llm·agent
weixin_446260856 小时前
AI 驱动的 CTF 自动解题系统部署
人工智能
Thneonl6 小时前
拆开一道 FDE 面试题,我看到三场十年前的考试
人工智能·架构
袁天6 小时前
我从 0 基础一个月用 AI 编程做了 4 个项目,最后把踩过的坑做成了agent项目纪律系统
人工智能