我的图片是通过电话拍摄的。我无法减少照片的不必要杂音
我试图增加对比度和亮度,但效果不佳
img = cv2.imread(image_path, 0)
blur = cv2.GaussianBlur(img, (5, 5), 0)
thresh = cv2.adaptiveThreshold(blur, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11,
2) # Convert Image To Binary
plt.imshow(img)
这是我的原始照片
这是我处理后的照片
这是我期望的照片
答案 0 :(得分:0)
您已使用正确的阈值方法从原始图像生成二进制图像,而需要进行一些优化才能获得最佳结果:
import cv2 as cv
import matplotlib.pyplot as plt
img = cv.imread('aa.jpg', 0)
blur = cv.medianBlur(img,11)
# blur = cv.GaussianBlur(img,(11,11),0)
thresh = cv.adaptiveThreshold(blur,255,cv.ADAPTIVE_THRESH_GAUSSIAN_C,\
cv.THRESH_BINARY, 31, 4)
plt.subplot(121),plt.imshow(img)
plt.subplot(122),plt.imshow(thresh)
plt.show()
答案 1 :(得分:0)
我不知道您是否还需要滤除笔迹,因为在这种情况下,您需要更复杂的东西。 无论如何,您的代码中的错误仅在于
plt.imshow(img)
您只是绘制原始图像,而不是经过过滤的图像...请尝试
plt.imshow(blur)
或这个
plt.imshow(thresh)
并检查结果