python进行图片的定位切割_TensorFlow——图像定位与分割

图像定位与分割

常见图像处理的任务图像定位Oxford-IIIT数据集图像定位示例图像定位与分类实例实例代码:实例预测效果:

图像定位的优化优化

图像定位的评价图形定位的应用

常见图像处理的任务

分类(核心基础)分类+定位 知道对象是什么,还要确定对象所处的位置。在对象附近画一个边框。语义分割 对图像中的像素点进行分类,区分图像中每一个像素点。目标检测 回答图片中有什么,在什么位置。用矩形框框住。实例分割 目标检测与语义分割的结合。需要精确到物体的边缘。

图像定位

输出四个数字(x,y,w,h),图像中某一个点的坐标(x,y),以及图像的宽度和高度。

Oxford-IIIT数据集

图像定位示例

图片文件和对应文件信息如下

# 获取一张图片

img = tf.io.read_file('D:/Desktop/数据集/图片定位与分割数据集/images/images/Abyssinian_1.jpg')

# 对图片解码

img = tf.image.decode_jpeg(img)

# 显示图片

plt.imshow(img)

# 读取xml文件中的内容

xml = open('D:/Desktop/数据集/图片定位与分割数据集/annotations/annotations/xmls/Abyssinian_1.xml').read()

# 创建选择器

sel = etree.HTML(xml)

# 解析文件中的图片数据

width = int(sel.xpath('//size/width/text()')[0])

height = int(sel.xpath('//size/height/text()')[0])

xmin = int(sel.xpath('//bndbox/xmin/text()')[0])

xmax = int(sel.xpath('//bndbox/xmax/text()')[0])

ymin = int(sel.xpath('//bndbox/ymin/text()')[0])

ymax = int(sel.xpath('//bndbox/ymax/text()')[0])

plt.imshow(img)

# 绘制矩形框,((x,y),h,w)    fill指定是否填充矩形框

rect = Rectangle((xmin,ymin),(xmax-xmin),(ymax-ymin),fill=False,color='red')

# 获取当前图像

ax = plt.gca()

# 添加矩形框

ax.axes.add_patch(rect)

图像定位与分类实例

对猫狗图像的头部进行定位并显示,并且将图像中的猫和狗进行分类,数据集同上。 保存了训练好的模型、可视化结果、打印了训练过程的log

实例代码:

导入需要使用到的库文件

import tensorflow as tf

import matplotlib.pyplot as plt

from lxml import etree  # 解析xml文件

import numpy as np

import glob

from matplotlib.patches import Rectangle  # 绘制矩形框

from tensorflow.keras.callbacks import CSVLogger

处理输入数据

def process_data():

'''

创建输入管道

:return: 训练数据集和验证数据集

'''

#  读取所有的图像

images = glob.glob(

"F:\\dataset\\图片定位与分割\\images\\*.jpg")  # images[0] ===> F:\dataset\图片定位与分割\images\Abyssinian_1.jpg

#  获取图像对应的目标xml文件

xmls = glob.glob(

"F:\\dataset\\图片定位与分割\\annotations\\xmls\\*.xml")  # xmls[0] ===> F:\dataset\图片定位与分割\annotations\xmls\Abyssinian_1.xml

#  获取所有解析文件的名称

names = [x.split

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值