有多個影像有我需要洗掉的空白。只需裁剪影像以消除空格這是我到目前為止嘗試的代碼(這是搜索的結果)
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)
這是示例影像

這是所需的輸出

uj5u.com熱心網友回復:
代碼幾乎是完美的。由于滾動條,它無法在右側裁剪。而且它不考慮一些填充(根據評論你喜歡)。
我洗掉的是拓撲修改。
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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/442186.html
下一篇:如何操作影像的保存名稱
