這篇文章主要為大家介紹了關於python圖片修復程序的相關資料,可以用於實現圖片中水印去除,主要利用的是OpenCV這個框架實現的,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧
圖片修復程序-可用於水印去除
OpenCV
目前,OpenCV逐步成為一個通用的基礎研究和產品開發平台。 OpenCV這個名稱包含了Open和 Computer Vision兩者的意思。實際上,Open指Open Source(開源,即開放原始碼),Computer Vision則指電腦視覺。 OpenCV的發展對軟體的開發有重要影響。想了解更多的話大家可以參考這篇文章:http://www.jb51.net/article/127911.htm##效果預覽
#圖片修復原理
#那OpenCV究竟是怎麼實現的,簡單的來說就是開發者標定噪聲的特徵,在使用噪聲周圍的顏色特徵推理出應該修復的圖片的顏色,從而實現圖片修復的。
程式實作解析
完整程式碼
#coding=utf-8 #图片修复 import cv2 import numpy as np path = "img/inpaint.png" img = cv2.imread(path) hight, width, depth = img.shape[0:3] #图片二值化处理,把[240, 240, 240]~[255, 255, 255]以外的颜色变成0 thresh = cv2.inRange(img, np.array([240, 240, 240]), np.array([255, 255, 255])) #创建形状和尺寸的结构元素 kernel = np.ones((3, 3), np.uint8) #扩张待修复区域 hi_mask = cv2.dilate(thresh, kernel, iterations=1) specular = cv2.inpaint(img, hi_mask, 5, flags=cv2.INPAINT_TELEA) cv2.namedWindow("Image", 0) cv2.resizeWindow("Image", int(width / 2), int(hight / 2)) cv2.imshow("Image", img) cv2.namedWindow("newImage", 0) cv2.resizeWindow("newImage", int(width / 2), int(hight / 2)) cv2.imshow("newImage", specular) cv2.waitKey(0) cv2.destroyAllWindows()
相關推薦:
以上是基於python的圖片修復程式(實現浮水印去除)的詳細內容。更多資訊請關注PHP中文網其他相關文章!