python多张图片拼接成一张图片 Python如何利用OCR实现检查报告单格式化输出之三图片裁剪拼接

这个是苹果系统无法像安卓那要简单方便长截图延伸处理的问题,需要程序自己去拼接。当然也存在两个方案一个是用户自己拼接,一个是程序拼接各有优缺点。

本来想通过opencv去拼接,但是好像难度很大,生成的图片也是类似全景图,要么就融合在一起了。因为这样的报告单照片相似度太高了,检查就是两张照片基本就融合在一起了python多张图片拼接成一张图片,后面还是通过裁剪拼接比较简单和方便。

ios拼接图片

用户利用ios app 自己处理电子报告截图,保留正常的电子报告和表头,提供实例图片

优点:前提是用户对软件和手机使用熟练度高。能独立安装苹果软件,能够很好理解操作说明。拼接合格的图片,增加图片识别成功率,需要提供文档操作说明。

缺点:增加用户操作难度,且用户对软件手机操作熟练度不一,拼接图片也存在不合格,浪费精力和api请求

程序拼接

用户上传多张电子报告图片python多张图片拼接成一张图片,由后台多图片拼接

处理方法:

a,第二张图片开始固定高度比如200像素,开始裁剪,去掉200像素高度的图片。

python多张图片拼接成一张图片_python实现字符串拼接_郑州大学张付成图片

b,将第一张和裁剪后的图片按顺序拼接一张长图。

c,最后长图在传入识别api做其他处理

优点:用户无需更多的处理,只需要多次截图 ,多次处理。

缺点:可能会裁剪掉需要的图片数据,一般为一个项目数据。(也可能这数据不需要),缺少的数据项目用户在手动增加。安卓长图的也存在识别项目不出概率。可能存在识别重复数据(第2,3图存在重复项目),数据去重处理

拼接后图

python多张图片拼接成一张图片_郑州大学张付成图片_python实现字符串拼接

通过测试拼接后的识别效果还是不错的。

图片裁剪代码

# 裁剪图片
import cv2
def cropImage(img,hstart,hend,widthstart,widthend):
    """
    :param img: 图片路径
    :param hstart: 裁剪高度开始像素
    :param hend: 裁剪高度结束像素
    :param widthstart: 裁剪宽度开始像素
    :param widthend: 裁剪宽度结束像素
    :return: 图片对象
    """
    if hend == "":
        hend =img.shape[0]
    if widthend == "":
        widthend = img.shape[1]
    crop_img = img[hstart:hend, widthstart:widthend]
    cv2.imshow("Resultcrop", crop_img)
    cv2.waitKey(0)
    return crop_img

图片拼接

def imagepinjie(image1,image2):
    image_v = cv2.vconcat([image1, image2])
    cv2.imshow("Result", image_v)
    cv2.imwrite("F:\pingjie\r1.jpg", image_v) # 保存拼接后图片
if __name__ == '__main__':
  p1 = readimg("F:\pingjie\P1.jpg")
  p2 = readimg("F:\pingjie\P2.jpg")
  p3 = cropImage(p2,200,"", 0,1080)
  imagepinjie(p1,p3)

总结下来,这样裁剪处理还是比较简单的、方便、经济。基本这个功能实现路线基本确定可行性了。

———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99

滚动至顶部