我有一个包含N页的PDF文件。如何计算彩色和非彩色(黑白)页面。
例:如果我输入100页的PDF文件,它应该显示X个页面是彩色的,而y个页面是非彩色的。
我有一个包含N页的PDF文件。如何计算彩色和非彩色(黑白)页面。
例:如果我输入100页的PDF文件,它应该显示X个页面是彩色的,而y个页面是非彩色的。
您可以将PDF转换为图像(例如使用pdf2image),然后分析不同的通道。例如,使用HSV时,如果页面只包含黑色和白色,则H和S通道应为0或接近0。
import pdf2image
import numpy as np
images = convert_from_path('example.pdf')
sw=0
color=0
for image in images:
img = np.array(image.convert('HSV'))
hsv_sum = img.sum(0).sum(0)
if hsv_sum[0] == 0 and hsv_sum[1] == 0:
sw += 1
else:
color += 1
对于一个包含一面黑色文字和一面红色文字的PDF示例,每面都有白色背景,它会给我sw=1和color=1。
如果背景不完全白色、文字不完全黑色(例如扫描的PDF文档),你可能需要搜索hsv_sum[0:1]小于像素的一部分。
from pdf2image import convert_from_path
- sekrett