图像目标区域裁剪(ROI提取)

一、背景

为了更好地做好图片文字识别和有效信息提取,需要将图片有效信息区域裁剪出来,再做下游的文字识别及后续处理。本文图片的有效信息区域被矩形包围,目标区域就是一个矩形。

便于追溯,首先打印主要组件版本信息:

import cv2
import numpy as np
import math

print(cv2.__version__)

二、图像预处理

首先要对图片进行灰化、滤波、二值化处理,其中在二值化处理的时候,thresh值须根据对应场景设置合适的值,可以通过遍历颜色值寻找最合适的数值,我这里最合适的值是170。

file = "D:\\cut\\3.jpg"
'''
SystemError: <built-in function imread> returned NULL without setting an error
中文路径=>英文路径
'''
image = cv2.imread(file)
# 1.灰化
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
'''
TypeError: imshow() missing required argument 'mat'
cv2.imshow(gray_image)=>cv2.imshow('img', gray_image)
'''
#cv2.imshow('img', gray_image)
dest_file = "D:\\cut\\3_gray.jpg"
cv2.imwrite(dest_file, gray_image, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])

#2.中值滤波
binary_image = cv2.medianBlur(gray_image, 7)
#cv2.imshow('img', binary_image)
dest_file = "D:\\cut\\3_medianBlur.jpg"
cv2.imwrite(dest_file, binary_image, [int(cv2.IMWRITE_PNG
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值