码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python 图片处理


    Step1

    提取PDF中的图片,并另存

    Step2

    去除灰色纸张背景

    1. import PyPDF2
    2. from PIL import ImageEnhance,Image,ImageFilter
    3. import cv2
    4. import numpy as np
    5. from skimage.filters import unsharp_mask
    6. from skimage.filters import gaussian
    7. from skimage.restoration import denoise_tv_chambolle
    8. local = './'
    9. pdf_file = open(local+'001.pdf', 'rb')
    10. pdf_reader = PyPDF2.PdfReader(pdf_file)
    11. num_pages = len(pdf_reader.pages)
    12. print("num : "+str(num_pages))
    13. pic_n=0
    14. # 遍历每一页
    15. for page_num in range(num_pages):
    16. # 获取当前页对象
    17. page_obj = pdf_reader.pages[page_num]
    18. # 获取当前页中的所有对象
    19. page_objs = page_obj['/Resources']['/XObject'].get_object()
    20. # 遍历每个对象
    21. for obj_name in page_objs:
    22. # 判断对象是否为图片
    23. if page_objs[obj_name]['/Subtype'] == '/Image':
    24. # 获取图片对象
    25. img_obj = page_objs[obj_name]
    26. # 获取图片数据
    27. img_data = img_obj.get_data()
    28. # 将图片数据保存为文件
    29. with open(local+"/99_tmp.jpg", 'wb') as img_file:
    30. img_file.write(img_data)
    31. #####################################################################################
    32. # 图片处理
    33. image = Image.open(local+"/99_tmp.jpg")
    34. #饱和度
    35. enhancer = ImageEnhance.Color(image)
    36. C_image = enhancer.enhance(0.001)
    37. C_image.save("./0_tmp.jpg")
    38. img = cv2.imread('./0_tmp.jpg')
    39. # 对每个像素进行对比度调整 alpha=对比度 beta=亮度
    40. img_contrast = cv2.convertScaleAbs(img, alpha=1.4, beta=0)
    41. ####################################################################################
    42. pnum=str(page_num).zfill(4)
    43. pic_str=str(pic_n).zfill(4)
    44. img_path ="./image_heibai/"+ pic_str + "_" +"page_"+pnum + '.jpg'
    45. cv2.imwrite(img_path,img_contrast)
    46. print("image : "+img_path)
    47. pic_n=pic_n+1

    Step3 

    去除黑色边框

    Step4

    去除阴影部分,字清晰

  • 相关阅读:
    OCR技术:解决图片转excel表格的方案与技巧
    操作系统知识点思维导图
    从算盘到云计算:计算机发展的壮丽历程
    聊天记录一句一句出现的视频制作,制作抖音聊天记录视频教程
    含文档+PPT+源码等]精品微信小程序预约挂号小程序+后台管理系统|前后分离VUE[包运行成功]程序设计源码计算机毕设
    ES5+ 和 ES6
    设计模式之桥接模式
    FPGA从入门到精通(二十)SignalTapII
    【git】新电脑(Windows)中Git配置SSH公钥
    Android 7.1 音量定制限定在0-80%之间可调节
  • 原文地址:https://blog.csdn.net/guiyuan_yelang/article/details/132773201
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号