阈值和平滑处理

cv2.threshold()二值化函数

ret,thresh = cv2.threshold(src, thresh, maxval, type[, dst])

  • 参数

  src:所要进行二值化处理的灰度图

  thresh:阈值

  maxval:最大值

  type:有八种常见类型

  • 返回值

  ret:参数中指定的阈值thresh

  thresh:二值化后的灰度图


平滑处理

原图:

def cv_show(name,img):
cv2.imshow(name,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 均值滤波 简单的平均卷积操作
img = cv2.imread('ZS.png')
blur = cv2.blur(img,(3,3))
cv_show('img',blur)

  • 方框滤波 基本和均值滤波一样 (可以选择归一化,若不归一化容易越界,越界取255)
img = cv2.imread("ZS.png")
box = cv2.boxFilter(img,-1,(3,3),normalize=True)
cv_show('img',box)

  • 高斯滤波
img = cv2.imread("ZS.png")
aussian = cv2.GaussianBlur(img,(3,3),1)
cv_show('img',aussian)

  • 中值滤波 用中值代替
img = cv2.imread("ZS.png")
median = cv2.medianBlur(img,5)
cv_show('img',median)

  • 均值滤波 高斯滤波 中值滤波 比较
res = np.hstack((blur,aussian,median))

cv_show('res',res)


Canny边缘检测

利用高斯滤波对图像平滑处理

Canny(img,minval,maxval)利用高阈值进行非最大值抑制

高于高阈值 保留

低于低阈值 舍弃

处于高阈值和低阈值之间若和保留点项链则保留,否则舍弃

阈值越高,条件越苛刻,符合的边缘越少

img = cv2.imread('1.jpg')
v1 = Canny(img,100,200)
v2 = Canny(img,50,100) res = np.hstack((v1,v2))
cv_show('res',res)

原图:

边缘检测图:

最新文章

  1. WPF中Grid实现网格,表格样式通用类
  2. unity3d关于碰撞问题
  3. WSDL项目----操作和请求
  4. 解决PHP在IE中下载文件,中文文件名乱码问题
  5. FreeBSD_11-系统管理——{Part_2-核心}
  6. UWP深入学习三:依赖属性、附加属性和数据绑定
  7. Excel scientific notation issue
  8. 给Windows机器创建软连接
  9. SpringMVC3的ResponseBody返回字符串(JSON)乱码问题解决
  10. 内存数据库(sqlite)和 map数据结构 做缓存对比
  11. frameset 与frame 设置的技巧
  12. pyqt5实现注册界面并获得文本框内容
  13. EndNote中文文献导入出错和数量限制解决
  14. SpringBoot使用SOFA-Lookout监控
  15. Oracle SQL语句之常见优化方法总结--不定更新
  16. SQL Join 与 In的效率
  17. nGrinder TestRunner DNS / sun.net.spi.nameservice.NameServiceDescriptor
  18. VIM下的可视模式的相关知识
  19. vue经验 - 那些自己给自己挖的深坑
  20. Python的数据类型2列表

热门文章

  1. 简介GitHub的使用方法--管理个人代码
  2. iOS多线程总览 --By 吴帮雷
  3. pytest-html 测试报告
  4. 数据库监测sql执行
  5. 解决OpenOCD烧录STM32失败, 无法通过SWD连接的问题
  6. HTTP缓存小结
  7. SpringMVC 解析(三) Controller 注解
  8. 『无为则无心』Python基础 — 44、对文件和文件夹的操作
  9. JVM学习——垃圾回收GC(学习过程)
  10. 操作系统实验一:进程管理(含成功运行C语言源代码)