计算机视觉开源库OpenCV之利用开操作(Opening Operation)修复受损照片,开运算即为:先腐蚀再膨胀。

原图片,俄罗斯少女,挺漂亮的,但是照片上有白线。我们的任务就是去掉这些白线。。。

修复图片示例代码如下:

#!/usr/bin/env python3import cv2image = cv2.imread("俄罗斯少女.jpg")
cv2.imshow("Src Image", image)rgb = cv2.split(image)kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
b = cv2.morphologyEx(rgb[0], cv2.MORPH_OPEN, kernel)
g = cv2.morphologyEx(rgb[1], cv2.MORPH_OPEN, kernel)
r = cv2.morphologyEx(rgb[2], cv2.MORPH_OPEN, kernel)dst = cv2.merge((b, g, r))
cv2.imshow("Dst Image", dst)cv2.waitKey(0)
cv2.destroyAllWindows()

修复效果图如下:

至此,修复完成。。总体来说,修复效果还是不错的啊~~~

计算机视觉开源库OpenCV之利用开操作(Opening Operation)修复受损照片方法相关推荐

  1. 计算机视觉开源库OpenCV之绘制轮廓函数cv2.drawContours()介绍

    计算机视觉开源库OpenCV之绘制轮廓函数cv2.drawContours(),用于轮廓的绘制或填充. cv2.drawContours(image, contours, contourIdx, co ...

  2. 计算机视觉开源库OpenCV绘制轮廓,并将轮廓排序~

    计算机视觉开源库OpenCV绘制轮廓,并将轮廓排序~示例效果如下: 原图: 示例代码如下: #!/usr/bin/env python3import cv2def sort_contours(cnts ...

  3. 计算机视觉开源库OpenCV之查找轮廓函数cv2.findContours()介绍

    计算机视觉开源库OpenCV之查找轮廓函数cv2.findContours说明如下: 示例代码: #!/usr/bin/env python3import cv2image = cv2.imread( ...

  4. 计算机视觉开源库OpenCV之图像翻转

    计算机视觉开源库OpenCV之图像翻转,包括水平翻转.上下翻转.水平翻转后上下翻转等,函数为为cv2.flip(). 效果如下: 示例代码如下: #!/usr/bin/env python3 impo ...

  5. 计算机视觉开源库OpenCV形态学morphologyEx函数之开运算和闭运算

    数学形态学操作可以分为二值形态学和灰度形态学,灰度形态学由二值形态学扩展而来.数学形态学有2个基本的运算,即腐蚀和膨胀,而腐蚀和膨胀通过结合又形成了开运算和闭运算. 开运算就是先腐蚀再膨胀 kerne ...

  6. 计算机视觉开源库OpenCV梯度之Sobel算子

    Sobel算子是像素图像边缘检测中最重要的算子之一,在机器学习.数字媒体.计算机视觉等信息科技领域起着举足轻重的作用.在技术上,它是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值.在图 ...

  7. 计算机视觉开源库OpenCV之平滑、模糊和滤波

    平均模糊:过度模糊图像并忽略重要的边缘 blurred = cv2.blur(image, (kX, kY)) 参数1:模糊对象 参数2:矩阵大小 高斯模糊:保留更多的图像边缘 blurred = c ...

  8. 计算机视觉-计算机视觉开源库OpenCV基础

    1.加载.显示.保存图像 import argparse import cv2ap = argparse.ArgumentParser() ap.add_argument("-i" ...

  9. 计算机视觉开源库OpenCV之CommandLineParser使用方法

    今天看看OpenCV官网教程,发现有CommandLineParser这个类,使用起来还是挺方便的. 示例代码如下: #include <iostream> #include <op ...

最新文章

  1. Visual Studio 15.7预览版4改进Git、C++支持
  2. RetinaFace 人脸关键点
  3. 何为消息队列,为何使用消息队列,有什么消息队列插件
  4. c语言现代方法16章 基础、课后习题、基础等
  5. 支付宝的架构到底有多牛逼?还没看完我就跪了!
  6. 比dropout更好的方法_比较自己的更好方法
  7. NoSQL数据库的分布式算法
  8. Windows Server 2008设置远程桌面连接数
  9. 实验9 面向对象程序设计方法
  10. Mac 开机慢、反应慢,可清理缓存
  11. 写给安卓软件工程师的3条建议,全套教学资料
  12. Web在线报表设计器使用指南
  13. 前端javascript常见问题总结
  14. Spark开发环境搭建
  15. win10找不到你的相机,错误代码0xA00F4244解决办法
  16. 分布式理论 C++11 Kafka
  17. 史上最全的各类奖学金、各种称号、各种职位中英文对照
  18. Gradle教程 Spring源码编译
  19. Vue3+TS+Vite无法使用require导入图片的解决方法
  20. matlab定义多维数组长度,matlab如何定义三维数组

热门文章

  1. VS2013关于“当前不会命中断点源代码与原始版本不同”的BUG
  2. java版spring cloud+spring boot+redis多租户社交电子商务平
  3. 基于Spring cloud Ribbon和Eureka实现客户端负载均衡
  4. 局域网IP-MAC绑定方案
  5. zabbix自定义监控脚本,显示权限不足
  6. Apache Kylin Cube 的构建过程
  7. Java 缺省适配器模式
  8. 【二叉树系列】二叉树课程大作业
  9. Spring中的BeanPostProcessor接口
  10. IOS中UITableView异步加载图片的实现