当前位置: 首页 > news >正文

Python 图片处理

Step1

提取PDF中的图片,并另存

Step2

去除灰色纸张背景

import PyPDF2
from PIL import ImageEnhance,Image,ImageFilter
import cv2
import numpy as np
from skimage.filters import unsharp_mask
from skimage.filters import gaussian
from skimage.restoration import denoise_tv_chambollelocal = './'pdf_file = open(local+'001.pdf', 'rb')
pdf_reader = PyPDF2.PdfReader(pdf_file)num_pages = len(pdf_reader.pages)
print("num : "+str(num_pages))
pic_n=0
# 遍历每一页
for page_num in range(num_pages):# 获取当前页对象page_obj = pdf_reader.pages[page_num]# 获取当前页中的所有对象page_objs = page_obj['/Resources']['/XObject'].get_object()# 遍历每个对象for obj_name in page_objs:# 判断对象是否为图片if page_objs[obj_name]['/Subtype'] == '/Image':# 获取图片对象img_obj = page_objs[obj_name]# 获取图片数据img_data = img_obj.get_data()# 将图片数据保存为文件with open(local+"/99_tmp.jpg", 'wb') as img_file:img_file.write(img_data)
###################################################################################### 图片处理image = Image.open(local+"/99_tmp.jpg")#饱和度enhancer = ImageEnhance.Color(image)C_image = enhancer.enhance(0.001)C_image.save("./0_tmp.jpg")img = cv2.imread('./0_tmp.jpg')# 对每个像素进行对比度调整 alpha=对比度  beta=亮度img_contrast = cv2.convertScaleAbs(img, alpha=1.4, beta=0)####################################################################################pnum=str(page_num).zfill(4)pic_str=str(pic_n).zfill(4)img_path ="./image_heibai/"+ pic_str + "_" +"page_"+pnum + '.jpg'cv2.imwrite(img_path,img_contrast) print("image : "+img_path)pic_n=pic_n+1

Step3 

去除黑色边框

Step4

去除阴影部分,字清晰

相关文章:

Python 图片处理

Step1 提取PDF中的图片,并另存 Step2 去除灰色纸张背景 import PyPDF2 from PIL import ImageEnhance,Image,ImageFilter import cv2 import numpy as np from skimage.filters import unsharp_mask from skimage.filters import gaussian from skimage.restora…...

信道估计 | 信道

文章目录 定义分类LS 估计MMSE估计LS vs MMSE 定义 从接收数据中将假定的某个信道模型参数估计出来的过程,如果信道是线性的,信道估计是对系统的冲击响应进行估计,需强调的是,信道估计是信道对输入信号影响的一种数学表示&#x…...

腾讯发布超千亿参数规模的混元大模型;深度学习与音乐分析与生成课程介绍

🦉 AI新闻 🚀 腾讯发布超千亿参数规模的混元大模型 摘要:腾讯在2023腾讯全球数字生态大会上发布混元大模型,该模型拥有超千亿的参数规模和超2万亿 tokens 的预训练语料。混元大模型将支持多轮对话、内容创作、逻辑推理、知识增强…...

[html]当网站搭建、维护的时候,你会放个什么界面?

效果图&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>网站建设中</title><style>/* 基础样式 */body, html {margin: 0;padding: 0;height: 100%;font-family: Arial, sa…...

javaee spring aop 的五种通知方式

spring配置文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns:aop"http://www.springframework.…...

【Redis】3、Redis主从复制、哨兵、集群

Redis主从复制 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(Master)&#xff0c;后者称为从节点(Slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。 默认情况下&#xff0c;每台Redis服务器…...

vcpkg方式安装zlmediakit

主要参考: https://github.com/ZLMediaKit/ZLMediaKit/wiki/vcpkg%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85zlmediakit vcpkg的相关配置不在本文论述。很多库或源码下载不下来&#xff0c;通过第三方下载后放在download目录下&#xff0c;名称要和vcpkg期望的一致。可通过云服务器…...

【大数据】基于 Flink CDC 高效构建入湖通道

基于 Flink CDC 高效构建入湖通道 1.Flink CDC 核心技术解析2.CDC 数据入湖入仓的挑战2.1 CDC 数据入湖架构2.2 CDC 数据 ETL 架构 3.基于 Flink CDC 的入湖入仓方案3.1 Flink CDC 入湖入仓架构3.2 Flink CDC ETL 分析3.3 存储友好的写入设计3.4 Flink CDC 实现异构数据源集成3…...

微信小程序开发---网络数据请求

目录 一、小程序中网络数据请求的限制 二、发起get请求 三、发起post请求 一、小程序中网络数据请求的限制 具体有两个限制&#xff1a; &#xff08;1&#xff09;只能请求HTTPS类型的接口 &#xff08;2&#xff09;必须将接口的域名添加到信任列表中&#xff0c;在调试的时…...

vulkan学习路径

1.学习路径 了解图形渲染基础知识&#xff1a; 学习计算机图形学基础概念&#xff0c;包括坐标系统、三角形渲染、光照模型等。可以参考经典的图形学教材&#xff0c;如《Real-Time Rendering》和《Computer Graphics: Principles and Practice》。了解图形API的发展历史&#…...

NIFI使用InvokeHTTP发送http请求

说明 这里介绍四种平时常用的http请求方法&#xff1a;GET、POST、PUT、DELETE。 在官方的介绍文档中关于InvokeHTTP处理器的描述是这么说的&#xff1a; An HTTP client processor which can interact with a configurable HTTP Endpoint. The destination URL and HTTP Met…...

Spire.xls+excel文件实现单据打印

报表和单据打印&#xff0c;通常都是使用fastreport之类的&#xff0c;因为有了现成的xls模板样式&#xff0c;如果转成fastreport那还需要花时间&#xff0c;是用spire.xls这个玩意简单&#xff0c;超好用。 一.引用 using Spire.Xls; 二.基本的操作 // 创建工作簿&#xff…...

win10系统配置vmware网络NAT模式

1&#xff0c;查看win10 IP地址&#xff1a;ipconfig 2, vmware设置&#xff1a;编辑>>虚拟网络编辑器>>点击添加网络&#xff08;选择NAT模式&#xff09; 3&#xff0c;虚拟机网络设置&#xff1a;点击VMware虚拟机>>设置>>网络适配器 4&#xff…...

什么是数据中台,关于数据中台的6问6答6方法

在大数据/数字孪生时代&#xff0c;数据中台已经成为企业治理数据的核心平台。数据中台不仅处理和整合大量数据&#xff0c;还负责数据的存储、管理和保护工作&#xff0c;确保数据的准确性和可用性。数据中台的特点在于其能够提高业务效率&#xff0c;降低成本&#xff0c;增加…...

什么是机器学习中的目标函数和优化算法,列举几种常见的优化算法

1、什么是机器学习中的目标函数和优化算法&#xff0c;列举几种常见的优化算法。 在机器学习中&#xff0c;目标函数和优化算法是两个核心概念。目标函数用于描述模型预测结果与实际结果之间的差距&#xff0c;而优化算法则用于最小化目标函数&#xff0c;从而得到最优的模型参…...

Edge被2345浏览器劫持 解决方法

Edge 被 hao123 劫持解决方法_edge被hao123锁定改不了_小子宝丁的博客-CSDN博客...

uni-app:重置表单数据

效果 代码 <template><form><input type"text" v-model"inputValue" placeholder"请输入信息"/><input type"text" v-model"inputValue1" placeholder"请输入信息"/><input type&quo…...

全球城市汇总【最新】

文章目录 案例图国家城市大洲 数据获取政策&#xff1a; 全球城市、国家、介绍汇总。包含 .csv .sql .xml 格式数据。 案例图 国家 城市 大洲 数据 获取上图资源绑定 https://blog.csdn.net/qq_40374604/category_12435042.html 获取政策&#xff1a; 如找不到在合集中查找…...

Java jvm 内存溢出分析

1.如何分析jvm内存溢出呢 我们经常用visualVm监控Jvm的内存&#xff0c;cpu&#xff0c;线程的使用情况&#xff0c;通常可以根据内存不断增长来判断内存是否存在不释放。但是我们不可能时时盯着去看&#xff0c;这里涉及jvm堆内存配置&#xff0c;堆内存参数配置和调优会在其…...

Qt CMake 中国象棋程序实现

前驱课程 C自学精简实践教程 目录(必读) C数据结构与算法实现&#xff08;目录&#xff09; Qt 入门实战教程&#xff08;目录&#xff09; 项目初衷 为学习 Qt 的人提供一个合适的有一定难度的综合型练习项目。 在学会写代码之前&#xff0c;先看别人怎么写的代码。深入…...

Llama-3.2V-11B-cot与Dify集成:零代码构建企业AI智能体

Llama-3.2V-11B-cot与Dify集成&#xff1a;零代码构建企业AI智能体 最近和几个做企业服务的朋友聊天&#xff0c;大家普遍有个感觉&#xff1a;现在AI模型能力越来越强&#xff0c;但真要把它们用起来&#xff0c;门槛还是有点高。特别是对于业务部门的人来说&#xff0c;看着…...

GLM-4.1V-9B-Base与MATLAB联动:科学计算可视化报告的自动生成

GLM-4.1V-9B-Base与MATLAB联动&#xff1a;科学计算可视化报告的自动生成 1. 科研工作流中的痛点与解决方案 科研人员每天都要面对大量实验数据&#xff0c;从原始数据到最终的可视化报告往往需要经历繁琐的步骤。传统的数据分析流程通常包括&#xff1a;数据整理→MATLAB编程…...

OpenClaw 的模型训练中,是否使用了半监督学习?伪标签策略?

关于OpenClaw在语音对话中是否支持多通道音频处理&#xff0c;其实可以从一个更贴近实际工程的角度来看。多通道音频处理在语音识别领域并不是一个简单的“支持”或“不支持”就能概括的问题&#xff0c;它背后涉及的是整个音频处理管道的设计思路和实际应用场景的匹配程度。 从…...

用快马平台快速原型你的技能学习器:AI一键生成交互式教程项目

最近在尝试做一个交互式Python技能学习生成器&#xff0c;发现用InsCode(快马)平台可以特别高效地完成原型验证。这个工具的核心思路是让用户输入想学习的技能&#xff0c;系统就能自动生成完整的学习项目&#xff0c;包含理论、示例和练习。下面分享下具体实现过程&#xff1a…...

DanKoe 视频笔记:人生经验课:给18岁自己的信

在本节课中&#xff0c;我们将学习一位28岁人士回顾过去&#xff0c;总结出的核心人生经验。这些经验旨在帮助年轻人&#xff0c;特别是那些感到迷茫、渴望超越平凡生活的人&#xff0c;建立自主性、明确目标并采取有效行动。我们将把这些经验整理成一套清晰的教程&#xff0c;…...

终极B站界面美化指南:如何用BewlyBewly插件快速打造个性化体验

终极B站界面美化指南&#xff1a;如何用BewlyBewly插件快速打造个性化体验 【免费下载链接】BewlyBewly Just make a few small changes to your Bilibili homepage. (English | 简体中文 | 正體中文 | 廣東話) 项目地址: https://gitcode.com/gh_mirrors/be/BewlyBewly …...

终极指南:Czkawka开源文件管理工具,5分钟解决存储空间不足难题

终极指南&#xff1a;Czkawka开源文件管理工具&#xff0c;5分钟解决存储空间不足难题 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 你是否经常遇…...

超轻量级OpenClaw与LaTeX结合:学术文档自动化处理

超轻量级OpenClaw与LaTeX结合&#xff1a;学术文档自动化处理 科研工作者每天需要处理大量的文献整理、公式编辑和文档排版工作&#xff0c;传统手动方式耗时且容易出错。本文将展示如何用超轻量级OpenClaw实现学术文档的自动化处理&#xff0c;让LaTeX文档编写变得轻松高效。 …...

Qwen3.5-9B惊艳案例:128K上下文下跨页PDF内容精准摘要

Qwen3.5-9B惊艳案例&#xff1a;128K上下文下跨页PDF内容精准摘要 1. 模型核心能力展示 Qwen3.5-9B作为一款90亿参数的开源大语言模型&#xff0c;在多个领域展现出令人印象深刻的能力。我们特别测试了其在处理长文档时的表现&#xff0c;结果令人惊喜。 1.1 长上下文处理能…...

stealth.js全解析:40+反检测补丁的配置与优化技巧

Stealth.js全解析&#xff1a;40反检测补丁的配置与优化技巧 在当今的Web自动化领域&#xff0c;反检测技术已成为开发者必须掌握的核心技能之一。无论是数据采集、自动化测试还是其他需要模拟真实用户行为的场景&#xff0c;如何让脚本"隐形"都是决定成败的关键因素…...