吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1044|回复: 3
收起左侧

[求助] PDF,jpg、图片页面尺寸统计问题求助

[复制链接]
74Y1085 发表于 2023-1-18 21:36
求助一个python 统计图片尺寸的方法,
最近能用python提取出图片的尺寸(px):  (2480, 3507)  宽度(px):  2480,高度(px):  3507,因每张图尺寸都会有一些偏差,求如何设置一个例5%偏差的归类到各个尺寸中。

尺寸

尺寸

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

涛之雨 发表于 2023-1-19 06:05
image.png

写了个有关又无关的demo

对着示意图凑活看一下吧=_=

[Python] 纯文本查看 复制代码
while True:
    try:
        isQuit = False
        # 标准尺寸表
        sizeMap = [
            [12040, 8624, "A0"],
            [10499, 7560, "A1"],
            [12621, 7440, "A1+0.25"],
            [7153, 5141, "A2"],
            [9034, 5091, "A2+0.25"],
            [4960, 3507, "A3"],
            [2480, 3507, "A4"]
        ]
        options = {
            # True: 允许长宽颠倒
            # False: 严格参数顺序
            "wideMatching": True,
            # 匹配范围, [下限,上限]
            "scaleRange": [-0.05, +0.05]
        }
        sizeList = []
        while True:
            size = input("请输入图片的尺寸,无须区分长宽顺序,如:2480*3507\n输入q退出\n")
            if size == "q":
                isQuit = True
                break
            sizeList = size.split("*")
            if len(sizeList) != 2 or not sizeList[0].isdigit() or not sizeList[1].isdigit():
                print("输入格式错误,请重新输入")
                continue
            sizeList = [int(i) for i in sizeList]
            break
        if isQuit:
            break

        # 添加长宽颠倒匹配项
        if options["wideMatching"]:
            sizeMap = sizeMap + [[sizeMap[i][1], sizeMap[i][0], sizeMap[i][2]+"(长宽颠倒)"] for i in range(len(sizeMap))]

        matched = False
        # 匹配
        for i in range(len(sizeMap)):
            if sizeMap[i][0] * (1 + options["scaleRange"][0]) \
                    <= sizeList[0] <= \
                    sizeMap[i][0] * (1 + options["scaleRange"][1]) and \
                    sizeMap[i][1] * (1 + options["scaleRange"][0]) \
                    <= sizeList[1] <= \
                    sizeMap[i][1] * (1 + options["scaleRange"][1]):
                print("匹配成功,对应的标准尺寸为:", sizeMap[i][2])
                matched = True
                break
        if not matched:
            print("匹配失败")
        print("\n\n")
    except ValueError:
        print("错误信息:", ValueError)
        print("捕捉到异常,回车键退出")
        input()


附件:
https://taozhiyu.lanzouf.com/iDzyT0lcsxte

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
74Y1085 + 1 + 1 谢谢@Thanks!学习学习

查看全部评分

zg2600 发表于 2023-1-19 14:42
尺寸不能单个统计多少X多少的像素。要结合分辨率(dpi)来计算实际尺寸。
 楼主| 74Y1085 发表于 2023-1-19 20:55
zg2600 发表于 2023-1-19 14:42
尺寸不能单个统计多少X多少的像素。要结合分辨率(dpi)来计算实际尺寸。

有何好的建议,愿提供素材图片测试。求教方法
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表