代码涉及到:遍历目标路径,选取csv后缀的文件,遍历csv每一行,读取坐标,用cv操作图片

# !/usr/bin/python
# -*- coding: UTF- -*-
import pandas as pd
import os
import time
import scipy.misc
from shutil import copyfile
from PIL import Image
import shutil g_img = None def saveToMysql(row):
sides = [,,,,,,]
img = g_img
limit_x = img.shape[]
limit_y = img.shape[]
for side in sides:
x1 = row.X - side
x2 = row.X + side
y1 = row.Y - side
y2 = row.Y + side
x1 = min(limit_x, max(, x1))
x2 = max(x1+, min(limit_x, x2))
y1 = min(limit_y, max(, y1))
y2 = max(, min(limit_y, y2))
t1 = int(time.time()*)
cropped = img[y1:y2,x1:x2,:]
t2 = int(time.time()*)
#new_crop_parh = row.img + '_' + str(row.Type) + '_' + str(row.X) + '_' + str(row.Y) + '.png'
new_crop_parh = 'img_crop/' + str(row.Type) + '/' + row.crop + '_' + str(row.X) + '_' + str(row.Y) + '_' + str(side) + '.png'
scipy.misc.imsave(new_crop_parh , cropped)
t3 = int(time.time()*)
# print("剩余时间:",(t3-t2)*//) if __name__ == '__main__':
for i in range(,):
path = './img_crop/' + str(i)
#if os.path.exists(path):
# shutil.rmtree(path+'/')
#os.mkdir(path) for line in open("xae"):
csvpath = line.strip('\n')
if not csvpath or not os.path.exists(csvpath):
print('not found: ' + csvpath) arr = csvpath.split('/')
image = arr[].replace(".csv", ".JPG")
medicalId=arr[]
batchId=arr[] img_path = 'img/' + batchId + '/' + medicalId + '/Images/' + image
#print(img_path)
img_path_crop_path = batchId + '_' + medicalId + '_' + image # print(csvpath)
df = pd.read_csv(csvpath)
#print(df)
df['img'] = img_path
df['crop'] = img_path_crop_path
g_img = scipy.misc.imread(img_path)
df.apply(saveToMysql, axis=)

python文件处理-将图像根据坐标切割成若干小图的更多相关文章

  1. python文件处理-将图像根据坐标画矩形标记

    内容涉及:文件遍历,选取csv后缀文件,用cv操作图片 import csv import os import sys import numpy as np import copy import sh ...

  2. python 识别图像主题并切割

    两种办法,一种是用百度的API,效果还可以,不过好像每天有50次的调用的限制 from aip import AipImageClassify import cv2 """ ...

  3. Python 利用GDAL对图像进行几何校正

    原文链接:https://blog.csdn.net/qq_27045589/article/details/81062586 一.几何校正方法 图像校正本质是建立一种从原始图像行列号到某种投影的数学 ...

  4. python文件和文件夹訪问File and Directory Access

    http://blog.csdn.net/pipisorry/article/details/47907589 os.path - Common pathname manipulations 都是和路 ...

  5. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  6. day8.python文件操作

    打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...

  7. 4、Python文件对象及os、os.path和pickle模块(0530)

    文件系统和文件 1.文件系统是OS用于明确磁盘或分区上的文件的方法和数据结构---即在磁盘上组织文件的方法: 文件系统模块:os 2.计算机文件(称文件.电脑档案.档案),是存储在某种长期储存设备或临 ...

  8. 万恶之源 - Python文件操作

    文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...

  9. (转)使用Python和OpenCV检测图像中的物体并将物体裁剪下来

    原文链接:https://blog.csdn.net/liqiancao/article/details/55670749 介绍 硕士阶段的毕设是关于昆虫图像分类的,代码写到一半,上周五导师又给我新的 ...

随机推荐

  1. DCL单例为什么要加Volatile

    拿一个对象创建赋值来说 class T{ int elem = 1; } T t = new T(); 上段代码转换成汇编码为: 0 new #2 <T> 3 dup 4 invokesp ...

  2. Chisel3 - bind - Op, ReadOnly, 左值

    https://mp.weixin.qq.com/s/F_08jKFMoX9Gf_J_YpsDpg   两个数据变量进行某个操作(op),产生一个输出,这个输出存在一个匿名变量中.这个匿名变量就是以O ...

  3. MyBatis(一) 概述与SQL定制、对象映射

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.MyBatis概述 1.mybatis简介 MyBatis 是支持定制化 SQL.存储过程以及高级映 ...

  4. java实现报数游戏

    报数游戏 有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止.问剩下第几个孩子.下面的程序以10个孩子为例,模拟了这个过程,请完善之(提 ...

  5. Linux 终止进程

    kill命令 kill -l,查看可用的进程号 支持64种,常用的三种,1代表重启,9代表强制终止,15代表正常终止 kill -1 进程ID号,重启进程 killall -9 进程名,杀死对应的全部 ...

  6. (五)SQLMap工具检测SQL注入漏洞、获取数据库中的数据

    目录结构 一.判断被测url的参数是否存在注入点 二.获取数据库系统的所有数据库名称(暴库) 三.获取Web应用当前所连接的数据库 四.获取Web应用当前所操作的DBMS用户 五.列出数据库中的所有用 ...

  7. 温故知新-多线程-Cache Line存在验证

    文章目录 简述 缓存行Cache Line 验证CacehLine存在? 参考 你的鼓励也是我创作的动力 Posted by 微博@Yangsc_o 原创文章,版权声明:自由转载-非商用-非衍生-保持 ...

  8. Redis的内存和实现机制

    1. Reids内存的划分 数据 内存统计在used_memory中 进程本身运行需要内存 Redis主进程本身运行需要的内存占用,代码.常量池等 缓冲内存,客户端缓冲区.复制积压缓冲区.AOF缓冲区 ...

  9. Astah类图中使用list<>

    如何在类图中表示如下的属性,这个问题困扰了我好久.之前百度找不着任何相关的内容,今天终于在其官方论坛找着了答案. class cMeterRecord { protected: cMeterStatu ...

  10. vue-toy: 200行代码模拟Vue实现

    vue-toy 200行左右代码模拟vue实现,视图渲染部分使用React来代替Snabbdom,欢迎Star. 项目地址:https://github.com/bplok20010/vue-toy ...