kol*_*llo 2 python opencv image border
我有一堆图像,我想通过消除黑色边框来使其均匀化。通常我将Imagemagick的Trim函数与fuzz参数一起使用,但是如果图像带有一些水印,则结果不在此处。
实际上,我正在使用opencv和形态学转换进行一些测试,以尝试识别水印和图像,然后选择更大的元素,但是我对opencv真的很陌生,我很挣扎。
从左下角到右上角,水印无处不在。

我更喜欢Python代码,但欢迎使用Imagemagick等类似的应用程序。
实际上只使用opencv我得到以下结果:
import copy
import cv2
from matplotlib import pyplot as plt
IMG_IN = '/data/black_borders/island.jpg'
# keep a copy of original image
original = cv2.imread(IMG_IN)
# Read the image, convert it into grayscale, and make in binary image for threshold value of 1.
img = cv2.imread(IMG_IN,0)
# use binary threshold, all pixel that are beyond 3 are made white
_, thresh_original = cv2.threshold(img, 3, 255, cv2.THRESH_BINARY)
# Now find contours in it.
thresh = copy.copy(thresh_original)
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
# get contours with highest height
lst_contours = []
for cnt in contours:
ctr = cv2.boundingRect(cnt)
lst_contours.append(ctr)
x,y,w,h = sorted(lst_contours, key=lambda coef: coef[3])[-1]
# draw contours
ctr = copy.copy(original)
cv2.rectangle(ctr, (x,y),(x+w,y+h),(0,255,0),2)
# display results with matplotlib
# original
original = original[:,:,::-1] # flip color for maptolib display
plt.subplot(221), plt.imshow(original)
plt.title('Original Image'), plt.xticks([]),plt.yticks([])
# Threshold
plt.subplot(222), plt.imshow(thresh_original, cmap='gray')
plt.title('threshold binary'), plt.xticks([]),plt.yticks([])
# selected area for future crop
ctr = ctr[:,:,::-1] # flip color for maptolib display
plt.subplot(223), plt.imshow(ctr)
plt.title('Selected area'), plt.xticks([]),plt.yticks([])
plt.show()
Run Code Online (Sandbox Code Playgroud)
结果:

删除黑色边框:-
单击此链接(我认为是完美答案):-
使用OpenCV裁剪黑色边框
要通过指定区域删除黑色边框,请单击此链接
如何使用Python在OpenCV
中裁剪图像而不是裁剪图像中的任何部分,您可能只采用ROI(感兴趣区域)。为此,请点击此链接,
如何在python中使用opencv复制图像区域?
删除水印:-
如果水印可能出现在图像中的任何位置,则无法完全清除水印。只是您可以在该图像上应用模糊效果。它将模糊您的水印。
它的链接:
https : //opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_imgproc/py_filtering/py_filtering.html
如果仅在黑色边框上存在水印,则上述方法将解决您的问题。
| 归档时间: |
|
| 查看次数: |
4227 次 |
| 最近记录: |