通过对比原图和高斯模糊处理的灰度图的差异识别图片是否花屏的原理
时间: 2024-12-17 08:43:23 浏览: 8
CANNY.rar_图片处理_局部模糊_局部阈值处理_高斯_高斯模糊
通过对比原图和经过高斯模糊处理的灰度图来识别图片是否花屏,主要是利用图像处理中的一种基本技术——锐化和模糊效果的区别。原理如下:
1. **获取原始灰度图**:首先,将彩色图片转换成灰度图像,便于观察单通道的变化。这一步可以用`cv2.cvtColor()`函数完成。
2. **高斯模糊处理**:然后,对原始灰度图应用高斯滤波器(如`cv2.GaussianBlur()`),这种滤波器能平滑图像,减少噪声,使得边缘细节变得模糊。
3. **计算差异**:接着,计算原始灰度图和模糊后的灰度图之间的差异。可以使用像素级别的差异,例如像素点的绝对差值,或者使用某种指标,比如结构相似性指数(SSIM)或均方误差(MSE),来量化两个图像间的差别。
```python
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
blurred_gray_img = cv2.GaussianBlur(gray_img, (5, 5), 0)
diff_img = cv2.absdiff(gray_img, blurred_gray_img)
```
4. **识别异常**:当对比图显示大量像素点有较大的变化时,意味着图像可能存在花屏,因为正常的图像在模糊处理后应该保持相对稳定的视觉特征。
5. **阈值判断**:设置一个阈值,如果差值图像中某个区域的像素差异超过这个阈值,就认为该区域可能存在花屏。可以使用阈值二值化方法进一步确认。
```python
threshold = 10
is_flashing = np.count_nonzero(diff_img) > threshold * diff_img.size / 100
```
阅读全文