簡體   English   中英

使用 python 從圖像中刪除空白

[英]Remove white space from an image using python

有多個圖像有我需要刪除的空白。 只需裁剪圖像以消除空格這是我到目前為止嘗試的代碼(這是搜索的結果)

 import numpy as np import cv2 img = cv2.imread('Sample.png') img = img[:-5,:-5] gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) gray = 255*(gray < 128).astype(np.uint8) gray = cv2.morphologyEx(gray, cv2.MORPH_OPEN, np.ones((2, 2), dtype=np.uint8)) coords = cv2.findNonZero(gray) x, y, w, h = cv2.boundingRect(coords) rect = img[y:y+h, x:x+w] cv2.imshow("Cropped", rect) cv2.waitKey(0) cv2.destroyAllWindows() cv2.imwrite("Output.png", rect)

這是示例圖像

在此處輸入圖像描述

這是所需的 output

在此處輸入圖像描述

代碼幾乎是完美的。 由於滾動條,它無法在右側裁剪。 而且它不考慮一些填充(根據評論你喜歡)。

我刪除的是拓撲修改。

 import numpy as np import cv2 img = cv2.imread('cropwhitefromimage.png') scrollbarright = 20 img = img[:,:-scrollbarright] gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) gray = 255*(gray < 128).astype(np.uint8) coords = cv2.findNonZero(gray) x, y, w, h = cv2.boundingRect(coords) padding = 10 rect = img[y-padding:y+h+padding, x-padding:x+w+padding] cv2.imshow("Cropped", rect) cv2.waitKey(0) cv2.destroyAllWindows() cv2.imwrite("cropwhitefromimage_result.png", rect)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM