图像折痕与扭曲去除

您所在的位置:网站首页 ps纸张折痕效果 图像折痕与扭曲去除

图像折痕与扭曲去除

2024-01-16 12:29| 来源: 网络整理| 查看: 265

文章目录 一、前言二、统计直方图获取ROI三、提取ROI的阴影图片

一、前言

去除历史扫描文件图片中的折痕,主要为技术探讨。 参考文献:http://www.doc88.com/p-0886436885083.html 主要使用:二值化与骨架提取

文章基于路径搜索折痕检测方法的系统框图如下:

首先,包含折痕的感兴 趣区域可以根据亮度值的分布提取出来。基于凸包络的算法用于提取出感兴趣区 域的阴影图像。利用折痕两侧的亮度不同对阴影图像进行滤波得到折痕位置图。 对滤波后的图像进行二值化。保留最大连通域。之后运用形态学膨胀和骨骼细化操作产生路径搜索图。最后运用迪杰斯特拉算法进行路径搜索的到折痕的准确位置。 在这里插入图片描述

二、统计直方图获取ROI import cv2 import numpy as np import matplotlib.pyplot as plt def calcAndDrawHist(image): return cv2.calcHist([image], [0], None, [256], [0.0,255.0]) def show_hist(original_img): b, g, r = cv2.split(original_img) histImgB = calcAndDrawHist(b) histImgG = calcAndDrawHist(g) histImgR = calcAndDrawHist(r) plt.plot(histImgB,'b') plt.plot(histImgG,'g') plt.plot(histImgR,'r') plt.show() def count_colors(original_img): # 测试用 height,width = original_img.shape[:2] b, g, r = cv2.split(original_img) b_color = np.multiply(b,65025) g_color = np.multiply(g,250) colors = b_color + g_color + r num_color = colors.reshape(1,-1)[0] len_color = int(len(num_color)*(1-0.05)) print("[num_color]",len(num_color)) print("[len_color]",len_color) histImg = np.bincount(num_color) New_Img = np.zeros((height,width),dtype=np.uint8) for y in range(height): for x in range(width): if 55955


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3