基于opencv的摄像头清晰度检测

本文介绍如何利用OpenCV库来检测摄像头的图像清晰度,包括检查纯色画面和模糊情况,以判断摄像头是否正常工作。作者分享了自己的实现代码,以供参考。
摘要由CSDN通过智能技术生成

老师布置了一个任务,说根据程序判断下摄像头有没有坏掉,让我先写两个函数做一个大概,并提出建议说比如画面出现纯色这样摄像头肯定是坏了,再比如很模糊摄像头也可能坏了,我在网上按需求搜了一下,然后自己 改了下,运行没有错误,我把代码贴出来希望对大家有帮助。

第一个是检测图片纯色的:

//图片颜色最大值与最小值之差小于3,则返回1 否则返回0  输入为灰度图
int  VideoColorDetect(IplImage* src)
{
	//图片高和宽
	int width = src->width;
	int height = src->height;

	uchar *ptr = (uchar*)src->imageData;
	int step = src->widthStep/sizeof(uchar);
	int Iij = 0;

	int Imax = 0, Imin = 255;
	//遍历图片像素 取最大值,最小值
	for(int i=0;i<height;i++)
	{
		for(int j=0;j<width;j++)
		{
			Iij	= (int) ptr[i*step+j];

			if(Iij > Imax)
				Imax = Iij;

			if(Iij < Imin)
				Imin = Iij;

			//	Iave = Iave + Iij;
		}
	}
	//判断条件 根据实际情况调试
	if ((Imax-Imin)<3)
	{
		return 1;
	}else{
		return 0;
	}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值