常州上位机培训

常州机器视觉培训

常州机器人培训

江苏和讯自动化设备有限公司欢迎您!
  • 和讯PLC,电工培训中心优势,名师团队一对一教学.
热门课程
联系方式
  • 常州和讯自动化培训中心
  • 常州市新北区太湖东路府琛大厦2号楼307-1室,307-2室(常州万达广场对面)
  • 电话:0519-85602926
  • 手机:15861139266 13401342299
当前位置:网站首页 > 新闻中心 新闻中心
Opencv去除图像阴影-常州机器视觉培训,常州上位机培训
日期:2024-3-28 16:21:27人气:  标签:常州机器视觉培训 常州上位机培训

前言

浏览OpenCV相关文章时看到了《基于OpenCV的图像阴影去除》,源码也是用pytyon实现的,分析了一下其原理,这篇我们用OpenCV的C++版来实现一下。


实现思路:

图将转为灰度图


将灰度图进行闭运算操作


闭运算后的图减去原灰度图再取反


将取反后的图使用归一化将白色背景修改贴近原图


关注机器视觉课堂持续学习


opencv实现:

    Mat src = imread("D:/opencv练习图片/去阴影.png");

    imshow("原图", src);

    //1.将图像转为灰度图

    Mat gray;

    cvtColor(src, gray, COLOR_BGR2GRAY);

    //定义腐蚀和膨胀的结构化元素和迭代次数

    Mat element = getStructuringElement(MORPH_RECT, Size(3, 3));

    int iteration = 9;

    //2.将灰度图进行闭运算操作

    Mat closeMat;

    morphologyEx(gray, closeMat, MORPH_CLOSE, element, Point(-1, -1), iteration);

    imshow("闭运算", closeMat);

    //4.闭运算后的图减去原灰度图再进行取反操作

    Mat calcMat = ~(closeMat - gray);

    imshow("calc", calcMat);

    //5.使用规一化将原来背景白色的改了和原来灰度图差不多的灰色

    Mat removeShadowMat;

    normalize(calcMat, removeShadowMat, 0, 200, NORM_MINMAX);

    imshow("dst", removeShadowMat);

原图:image.png                                                                  

 去阴影:   image.png                          

本文网址:
下一篇:没有资料

相关信息:
版权所有 CopyRight 2006-2017 江苏和讯自动化设备有限公司 电话:0519-85602926 地址:常州市新北区太湖东路府琛大厦2号楼307-1室,307-2室
ICP备14016686号-2 技术支持:常州鹤翔网络
本站关键词:常州电工培训 常州电工证 常州变频器培训 常州触摸屏培训 网站地图 网站标签
在线与我们取得联系