利用腐蚀去除图像噪声、利用膨胀填充两个字符中的空隙

利用腐蚀去除图像噪声

import cv2
"""
1. 利用腐蚀去除图片中原始的噪声
    注意不同的图片kernel和iteration均有不同,建议尝试多个图片
"""
img = cv2.imread("js.png")
# 腐蚀
img2 = cv2.erode(img, kernel=(3, 3), iterations=30)
cv2.imshow("result", img2)
cv2.waitKey(0)

利用膨胀填充两个字符中的空隙

import cv2
"""
1. 利用膨胀填充js两个字符中的空隙
    注意不同的图片kernel和iteration均有不同,建议尝试多个图片
"""
img = cv2.imread("js.png")
# 膨胀
img2 = cv2.dilate(img, kernel=(10, 10), iterations=100)
cv2.imshow("result", img2)
cv2.waitKey(0)

去除图片中的噪点,同时填充两个字符的空隙

import cv2
"""
去除图片中的噪点,同时填充js两个字符的空隙
1. 利用腐蚀去除图片中原始的噪声
2. 利用膨胀填充js两个字符中的空隙
    注意不同的图片kernel和iteration均有不同,建议尝试多个图片
"""
img = cv2.imread("js.png")
# 先腐蚀,去除噪点
img2 = cv2.erode(img, kernel=(3, 3), iterations=30)
# 后膨胀,填充空隙
img2 = cv2.dilate(img2, kernel=(10, 10), iterations=100)
cv2.imshow("result", img2)
cv2.waitKey(0)

结合滑动块去除图片中的噪点,同时填充两个字符的空隙

​​​​​​​import cv2
"""
结合滑动块去除图片中的噪点,同时填充js两个字符的空隙
1. 利用腐蚀去除图片中原始的噪声
2. 利用膨胀填充js两个字符中的空隙
    注意不同的图片kernel和iteration均有不同,建议尝试多个图片
"""


def nothing(x):  # 滑动条修改后会触发这个事件,我们这个程序不需要所以置空
    pass

cv2.namedWindow("image")
img = cv2.imread("js.png")

# 创建调色板滑动条
cv2.createTrackbar('erode_iteration', 'image', 1, 200, nothing)  # 创建erode阈值滑块,范围在1-200之间
cv2.createTrackbar('dilate_iteration', 'image', 1, 200, nothing)  # 创建dilate阈值滑块,范围在1-200之间


while 1:
    erode_iteration = cv2.getTrackbarPos("erode_iteration","image")
    dilate_iteration = cv2.getTrackbarPos("dilate_iteration","image")

    # 先腐蚀,去除噪点
    img2 = cv2.erode(img, kernel=(3, 3), iterations=erode_iteration)
    # 后膨胀,填充空隙
    img2 = cv2.dilate(img2, kernel=(10, 10), iterations=dilate_iteration)
    cv2.imshow("image", img2)
    key = cv2.waitKey(200)
    if key == ord("q"):
        break

你可能感兴趣的:(计算机视觉,opencv,图像处理)