python opencv3实例(对象识别和增强现实)2-边缘检测和应用图像过滤器

原书代码地址

在本章中,我们将看到如何将酷视觉效果应用于图片。 我们将学习如何使用基本的图像处理操作器,讨论边缘检测,并了解我们如何使用图像滤镜来应用各种图像影响照片。

在本章的最后,你会知道: * 2D卷积是什么,以及如何使用它 * 如何模糊图像 * 如何检测图像中的边缘 * 如何将运动模糊应用于图像 * 如何锐化和浮雕图像 * 如何侵蚀和扩大形象 * 如何创建晕影过滤器 * 如何增强图像对比度

2D卷积

卷积是图像处理中的基本操作,是我们对每个像素应用数学运算符,并在一些像素中更改其值办法。

Alt Text

Alt Text

  • 你的赞助是我们前进的动力:

一流企业专家自动化性能接口测试 数据分析 python一对一教,非骗人的培训机构(多数大陆培训机构的老师实际未入门)承接excel合并,电脑自动化操作等工程 并欢迎讨论中医草药风水相学等道家国学

qq群python 测试开发自动化测试 144081101 教你做免费的线上博客(放在简历中增加亮点),自动化测试平台,性能测试工具等,让你有实际项目经验 联系qq:37391319

交流QQ群:python 测试开发自动化测试 144081101 Python数据分析pandas Excel 630011153 中医草药自学自救大数据 391441566 南方中医草药鉴别学习 184175668 中医草药湿热湿疹胃病 291184506 python高级人工智能视觉 6089740

模糊(Blurring)

模糊是指平均邻域内的像素值。也称为低通滤波器。

Alt Text

01_2d_convolution.py

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import cv2 
import numpy as np 

img = cv2.imread('../Chapter01/images/input.jpg') 
rows, cols = img.shape[:2] 

kernel_identity = np.array([[0,0,0], [0,1,0], [0,0,0]]) 
kernel_3x3 = np.ones((3,3), np.float32) / 9.0 
kernel_5x5 = np.ones((5,5), np.float32) / 25.0 

cv2.imshow('Original', img) 

output = cv2.filter2D(img, -1, kernel_identity) # value -1 is to maintain source image depth
cv2.imshow('Identity filter', output) 

output = cv2.filter2D(img, -1, kernel_3x3) 
cv2.imshow('3x3 filter', output) 

output = cv2.filter2D(img, -1, kernel_5x5) 
cv2.imshow('5x5 filter', output) 
cv2.waitKey(0)

links