点击下方卡片,关注“机器视觉与AI深度学习”
视觉/图像重磅干货,第一时间送达!
现在,让我们分解用于从文档图像中删除水印的 Python 代码。该代码结合了用于图像处理的 OpenCV、用于 GUI 交互的 Tkinter 和用于可视化的 Matplotlib。
pip install opencv-python pillow matplotlib numpy# imported necessary libraryimport tkinterfrom tkinter import *import tkinter as tkimport tkinter.messagebox as mboxfrom tkinter import ttkfrom tkinter import filedialogfrom PIL import ImageTk, Imageimport cv2import osimport matplotlib.pyplot as plt
tkinter:这是用于创建图形用户界面 (GUI) 的标准 Python 库。我们将使用它来构建一个简单的 GUI,用于文件处理和用户交互。 cv2:这是用于图像处理的OpenCV库。它提供各种图像处理功能。 matplotlib.pyplot:用于在窗口中显示图像以实现可视化。 PIL:Python 图像库,用于处理和转换图像文件。
#images folder pathos.chdir("images")
click1 = Falsepoint1 = (0, 0)img = None
click1:跟踪鼠标是否被点击。 point1:存储第一次点击的坐标。 img:存储正在处理的图像。
def click(event, x, y, flags, params):global click1, point1, imgif event == cv2.EVENT_LBUTTONDOWN:click1 = Truepoint1 = (x, y)elif event == cv2.EVENT_MOUSEMOVE and click1:img_copy = img.copy()cv2.rectangle(img_copy, point1, (x, y), (0, 0, 255), 2)plt.imshow(cv2.cvtColor(img_copy, cv2.COLOR_BGR2RGB))plt.show()elif event == cv2.EVENT_LBUTTONUP:click1 = Falsesub_img = img[point1[1]:y, point1[0]:x]plt.imshow(cv2.cvtColor(sub_img, cv2.COLOR_BGR2RGB))plt.show()
cv2.EVENT_LBUTTONDOWN:当按下鼠标左键时,记录起始坐标。 cv2.EVENT_MOUSEMOVE:当按下左键并移动鼠标时,它会在图像的副本上动态绘制一个矩形,显示所选区域。 cv2.EVENT_LBUTTONUP:一旦释放鼠标左键,就会显示图像的选定部分。
defopen_and_save_img(img_path):global imgimg = cv2.imread(img_path, 1)plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))plt.show()img1 = cv2.imread(img_path)_, thresh = cv2.threshold(img1, 150, 255, cv2.THRESH_BINARY)plt.imshow(cv2.cvtColor(thresh, cv2.COLOR_BGR2RGB))plt.show()# Saving the images without watermarkcv2.imwrite('Image_With_Watermark.jpg', img)cv2.imwrite('Image_Without_Watermark.jpg', thresh)
defmain():img_path = "1e958f1c-book_229.jpg"# Change this to your image pathopen_and_save_img(img_path)if __name__ == "__main__":main()



https://github.com/mdmonsurali/Document-AI/blob/main/Denoising%20technique/Watermark%20remove/watermark_remove.ipynb—THE END— 
觉得有用,麻烦给个赞和在看

觉得有用,麻烦给个赞和在看
夜雨聆风