信息管理毕设分享(含算法) opencv图像增强算法系统

这篇具有很好参考价值的文章主要介绍了信息管理毕设分享(含算法) opencv图像增强算法系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 简介

今天学长向大家分享一个毕业设计项目

毕业设计 opencv图像增强算法系统

项目运行效果:

毕业设计 基于机器视觉的图像增强

项目获取:

https://gitee.com/sinonfin/algorithm-sharing文章来源地址https://www.toymoban.com/news/detail-778235.html

1. 基于直方图均衡化的图像增强

直方图均衡化是通过调整图像的灰阶分布,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像主观视觉效果的目的。对比度较低的图像适合使用直方图均衡化方法来增强图像细节。

彩色图像的直方图均衡化实现:

#include     
#include 
#include 

using namespace cv;

int main(int argc, char *argv[])
{
	Mat image = imread("Test.jpg", 1);
	if (image.empty())
	{
		std::cout << "打开图片失败,请检查" << std::endl;
		return -1;
	}
	imshow("原图像", image);
	Mat imageRGB[3];
	split(image, imageRGB);
	for (int i = 0; i < 3; i++)
	{
		equalizeHist(imageRGB[i], imageRGB[i]);
	}
	merge(imageRGB, 3, image);
	imshow("直方图均衡化图像增强效果", image);
	waitKey();
	return 0;
}

直方图均衡化增强前原图像:

直方图均衡化增强后效果:

2. 基于拉普拉斯算子的图像增强

使用中心为5的8邻域拉普拉斯算子与图像卷积可以达到锐化增强图像的目的,拉普拉斯算子如下图所示:

拉普拉斯算子可以增强局部的图像对比度:

#include     
#include 
#include 

using namespace cv;

int main(int argc, char *argv[])
{
	Mat image = imread("Test.jpg", 1);
	if (image.empty())
	{
		std::cout << "打开图片失败,请检查" << std::endl;
		return -1;
	}
	imshow("原图像", image);
	Mat imageEnhance;
	Mat kernel = (Mat_(3, 3) << 0, -1, 0, 0, 5, 0, 0, -1, 0);
	filter2D(image, imageEnhance, CV_8UC3, kernel);
	imshow("拉普拉斯算子图像增强效果", imageEnhance);
	waitKey();
	return 0;
}

拉普拉斯算子增强前原图像:

拉普拉斯算子增强后效果:

3. 基于对数Log变换的图像增强

对数变换可以将图像的低灰度值部分扩展,显示出低灰度部分更多的细节,将其高灰度值部分压缩,减少高灰度值部分的细节,从而达到强调图像低灰度部分的目的。变换方法:

对数变换对图像低灰度部分细节增强的功能过可以从对数图上直观理解:

x轴的0.4大约对应了y轴的0.8,即原图上00.4的低灰度部分经过对数运算后扩展到00.8的部分,而整个0.41的高灰度部分被投影到只有0.81的区间,这样就达到了扩展和增强低灰度部分,压缩高灰度部分的值的功能。

从上图还可以看到,对于不同的底数,底数越大,对低灰度部分的扩展就越强,对高灰度部分的压缩也就越强。

#include     
#include 

using namespace cv;

int main(int argc, char *argv[])
{
	Mat image = imread("Test.jpg");
	Mat imageLog(image.size(), CV_32FC3);
	for (int i = 0; i < image.rows; i++)
	{
		for (int j = 0; j < image.cols; j++)
		{
			imageLog.at(i, j)[0] = log(1 + image.at(i, j)[0]);
			imageLog.at(i, j)[1] = log(1 + image.at(i, j)[1]);
			imageLog.at(i, j)[2] = log(1 + image.at(i, j)[2]);
		}
	}
	//归一化到0~255  
	normalize(imageLog, imageLog, 0, 255, CV_MINMAX);
	//转换成8bit图像显示  
	convertScaleAbs(imageLog, imageLog);
	imshow("Soure", image);
	imshow("after", imageLog);
	waitKey();	
	return 0;
}

对数Log变换增强前原图像:

对数Log变换增强后效果:

对数变换对于整体对比度偏低并且灰度值偏低的图像增强效果较好。

4. 基于伽马变换的图像增强

伽马变换主要用于图像的校正,将灰度过高或者灰度过低的图片进行修正,增强对比度。变

伽马变换对图像的修正作用其实就是通过增强低灰度或高灰度的细节实现的,从伽马曲线可以直观理解:

γ值以1为分界,值越小,对图像低灰度部分的扩展作用就越强,值越大,对图像高灰度部分的扩展作用就越强,通过不同的γ值,就可以达到增强低灰度或高灰度部分细节的作用。

伽马变换对于图像对比度偏低,并且整体亮度值偏高(对于于相机过曝)情况下的图像增强效果明显。

#include     
#include 

using namespace cv;

int main(int argc, char *argv[])
{
	Mat image = imread("Test.jpg");
	Mat imageGamma(image.size(), CV_32FC3);
	for (int i = 0; i < image.rows; i++)
	{
		for (int j = 0; j < image.cols; j++)
		{
			imageGamma.at(i, j)[0] = (image.at(i, j)[0])*(image.at(i, j)[0])*(image.at(i, j)[0]);
			imageGamma.at(i, j)[1] = (image.at(i, j)[1])*(image.at(i, j)[1])*(image.at(i, j)[1]);
			imageGamma.at(i, j)[2] = (image.at(i, j)[2])*(image.at(i, j)[2])*(image.at(i, j)[2]);
		}
	}
	//归一化到0~255  
	normalize(imageGamma, imageGamma, 0, 255, CV_MINMAX);
	//转换成8bit图像显示  
	convertScaleAbs(imageGamma, imageGamma);
	imshow("原图", image);
	imshow("伽马变换图像增强效果", imageGamma);
	waitKey();
	return 0;
}

伽马变换增强前原图像:

伽马变换增强后效果:

软件实现效果

信息管理毕设分享(含算法) opencv图像增强算法系统,python

信息管理毕设分享(含算法) opencv图像增强算法系统,python

最后

项目获取:

https://gitee.com/sinonfin/algorithm-sharing

到了这里,关于信息管理毕设分享(含算法) opencv图像增强算法系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法毕设分享 深度学习图像搜索算法-图像搜索引擎(源码分享)

    今天学长向大家分享一个毕业设计项目 毕业设计 深度学习图像搜索算法-图像搜索引擎(源码分享) 项目运行效果: 毕业设计 深度学习图像搜索算法-图像搜索引擎 项目获取: https://gitee.com/sinonfin/algorithm-sharing 图像检索:是从一堆图片中找到与待匹配的图像相似的图片,就是

    2024年02月04日
    浏览(60)
  • 毕设 深度学习图像搜索算法-图像搜索引擎(源码分享)

    今天学长向大家分享一个毕业设计项目 毕业设计 深度学习图像搜索算法-图像搜索引擎(源码分享) 项目运行效果: 毕业设计 深度学习图像搜索算法-图像搜索引擎 项目获取: https://gitee.com/sinonfin/algorithm-sharing 图像检索:是从一堆图片中找到与待匹配的图像相似的图片,就是

    2024年02月02日
    浏览(57)
  • 大数据毕设分享 图像识别-人脸识别与疲劳检测 - python opencv

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年03月12日
    浏览(50)
  • 毕设开源 深度学习图像搜索算法-图像搜索引擎(源码分享)

    今天学长向大家分享一个毕业设计项目 毕业设计 深度学习图像搜索算法-图像搜索引擎(源码分享) 项目运行效果: 毕业设计 深度学习图像搜索算法-图像搜索引擎 项目获取: https://gitee.com/assistant-a/project-sharing 图像检索:是从一堆图片中找到与待匹配的图像相似的图片,就是

    2024年04月11日
    浏览(60)
  • 智能科学毕设分享(算法) 基于opencv的银行卡识别

    🔥 今天学长向大家分享一个毕业设计项目 🚩 毕业设计 基于opencv的银行卡识别 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 项目运行效果: 毕业设计 机器视觉opencv银行卡识别系统 项目获取: https://gitee.com/assistant-a/project-sharing 银

    2024年02月21日
    浏览(48)
  • 计算机毕设 python opencv 机器视觉图像拼接算法

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月07日
    浏览(63)
  • 【旧文更新】【优秀毕设】人脸识别打卡/签到/考勤管理系统(OpenCV+最简基本库开发、可移植树莓派 扩展网络图像推流控制 验证码及Excel邮件发送等功能)

    【旧文更新】【优秀毕设】人脸识别打卡/签到/考勤管理系统(OpenCV+最简基本库开发、可移植树莓派 扩展网络图像推流控制 验证码及Excel邮件发送等功能) 为何要进行旧文新发? 因为我在2023年博客之星评选中发现 有的人转载、抄袭他人文章 稍微改动几下也能作为高质量文

    2024年02月20日
    浏览(65)
  • 毕设项目分享 基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python

    今天学长向大家介绍一个机器视觉项目 基于机器视觉opencv的手势检测 手势识别 算法 普通机器视觉手势检测的基本流程如下: 其中轮廓的提取,多边形拟合曲线的求法,凸包集和凹陷集的求法都是采用opencv中自带的函数。手势数字的识别是利用凸包点以及凹陷点和手部中心

    2024年02月03日
    浏览(81)
  • python毕设选题 - opencv python 深度学习垃圾图像分类系统

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月02日
    浏览(51)
  • 【大数据毕设选题】opencv python 深度学习垃圾图像分类系统

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月03日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包