基于python的图片修复程序(实现水印去除)

  


  

  

在现实的生活中,我们可能会遇到一些美好的或是珍贵的图片被噪声干扰,比如旧照片的折痕,比如镜头上的灰尘或污渍,更或者是某些我们想为我所用但有讨厌水印,那么有没有一种办法可以消除这些噪声呢?

  

答案是肯定的,依然是被我们用了无数次的OpenCV这款优秀的框架。

  

  

目前,OpenCV逐步成为一个通用的基础研究和产品开发平台.OpenCV这一名称包含了开放和计算机视觉两者的意思。实际上,开放指开源(开源,即开放源代码),计算机视觉则指计算机视觉.OpenCV的发展对软件的开发具有重要影响。想要了解更多的话大家可以参考这篇文章:https://www.jb51.net/article/127911.htm

  

  

基于python的图片修复程序(实现水印去除)
  

  


  

  

那OpenCV究竟是怎么实现的,简单的来说就是开发者标定噪声的特征,在使用噪声周围的颜色特征推理出应该修复的图片的颜色,从而实现图片修复的。

  


  

  
      <李>标定噪声的特征,使用cv2.inRange二值化标识噪声对图片进行二值化处理,具体代码:cv2。inRange (img, np。数组([240、240、240]),np。阵列([255、255、255])),把[240、240、240]~[255、255、255]以外的颜色处理为0;李   <李>使用OpenCV的扩张方法,扩展特征的区域,优化图片处理效果;李   <李>使用填补方法,把噪声的面具作为参数,推理并修复图片;李   
  


  

        #=utf - 8编码   #图片修复      进口cv2   进口numpy np      路径=癷mg/inpaint.png”      img=cv2.imread(路径)   高度、宽度、深度=img.shape (0:3)      #图片二值化处理,把[240、240、240]~[255、255、255]以外的颜色变成0   打=cv2。inRange (img, np。数组([240、240、240]),np。数组((255、255、255)))      #创建形状和尺寸的结构元素   内核=np。((3)np.uint8)      #扩张待修复区域   hi_mask=cv2。扩张(打、内核、迭代=1)   镜面=cv2。填补(img hi_mask 5、旗帜=cv2.INPAINT_TELEA)      cv2.namedWindow(“形象”,0)   cv2。resizeWindow(“形象”,int(宽/2),int(高/2))   cv2。imshow(“形象”,img)      cv2.namedWindow (“newImage”, 0)   cv2。resizeWindow (“newImage”, int(宽/2),int(高/2))   cv2。imshow (“newImage”,镜面)   cv2.waitKey (0)   cv2.destroyAllWindows ()      

<强>图片扩展与腐蚀更多资料:http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_morphological_ops/py_morphological_ops.html

  

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

基于python的图片修复程序(实现水印去除)