import time
import os
import math
import sys
import os,os.path,shutil
import numpy as np
import cv2
img_in_path = 'F:/project/Breast/InBreast/INBreast/removeother/'
outpathimgyes = 'F:/project/Breast/InBreast/INBreast/outimgpatch/calcification/'
outpathimgno = 'F:/project/Breast/InBreast/INBreast/outimgpatch/no/'
txtPath = 'F:/project/Breast/InBreast/INBreast/AllTXTall/'
outpathtxt = 'F:/project/Breast/InBreast/INBreast/outtxtpatch/'
txtType = 'txt'
txtLists = os.listdir(txtPath) #列出文件夹下所有的目录与文件
for filename in txtLists:
pp = 0
ppp = 0
with open(txtPath + filename, 'r') as file:
print(filename)
lines = file.readlines()
dataset = [[] for i in range(len(lines))]
for i in range(len(dataset)):
dataset[i][:] = (item for item in lines[i].strip().split(',')) # 逐行读取数据
#print("dateset:", dataset)
# print(type(dataset[0][0]))
# print(dataset.__sizeof__())
u = np.array(dataset)
list = np.zeros((u.shape[0], 2))
for i in range(u.shape[0]):
# print(u[i,0][0])
findNumber = u[i,0].find(" ")
# print(findNumber)
list[i,0] = round(float(u[i, 0][0:findNumber]))
list[i,1] = round(float(u[i, 0][findNumber+1:]))
# Read the same name image(before 21:30,715)
img = img\_in\_path + filename\[:-4\] + '.png' # out\_path
img = cv2.imread(img)
black = np.zeros((img.shape\[0\], img.shape\[1\]))
for i in range(img.shape\[0\]):
for j in range(img.shape\[1\]):
if img\[i,j\]\[0\] == 0 and img\[i,j\]\[1\] == 0 and img\[i,j\]\[2\] == 0:
black\[i\]\[j\] = 1
print(img.shape\[0\],img.shape\[1\])
# Cutting distance has been determined, Handling cutting details(before 22.30, 715)
row = img.shape\[0\]/56;
col = img.shape\[1\]/56;
print(row,col)
# 待考虑问题:黑色像素
for i in range(int(row-1)):
# print(i)
for j in range(int(col-1)):
tt = 0
pb = np.sum(black\[i \* 56:i \* 56 + 112,j \* 56:j \* 56 + 112\]) / 12544
# print("top\_left:", i\*56, j\*56)
# print("bottom\_right:",i\*56+112,j\*56+112)
for k in range(u.shape\[0\]):
if j\*56<list\[k,0\]<j\*56+112 and i\*56<list\[k,1\]<i\*56+112:
tt = tt + 1
patch\_label = np.zeros((tt, 4))
tt1 = 0
for k in range(u.shape\[0\]):
if j\*56<list\[k,0\]<j\*56+112 and i\*56<list\[k,1\]<i\*56+112:
patch\_label\[tt1,0\] = list\[k,0\] - j\*56
patch\_label\[tt1,1\] = list\[k,1\] - i\*56
patch\_label\[tt1,2\] = list\[k,0\]
patch\_label\[tt1,3\] = list\[k,1\]
tt1 = tt1 + 1
if tt>0 and pb == 0:
patch = img\[i \* 56:i \* 56 + 112,j \* 56:j \* 56 + 112\]
pp = pp + 1
# print(patch.shape)
outputimg = outpathimgyes + '/' + filename\[:-4\] + '/' + filename\[:-4\] + '\_'+ str(pp) + '.png'
cv2.imwrite(outputimg, patch)
outputtxt1 = outpathtxt + '/' + filename\[:-4\] + '/' + filename\[:-4\] + '\_' + str(pp) + '.txt'
np.savetxt(outputtxt1, patch\_label, fmt='%f')
if tt==0 and pb == 0:
patch = img\[i \* 56:i \* 56 + 112,j \* 56:j \* 56 + 112\]
ppp = ppp + 1
# print(patch.shape)
outputimg1 = outpathimgno + '/' + filename\[:-4\] + '/' + filename\[:-4\] + '\_' + str(ppp) + '.png'
cv2.imwrite(outputimg1, patch)
print(img.shape\[0\], img.shape\[1\])
print(pp,ppp)
for i in range(int(row-1)):
tt = 0
pb = np.sum(black\[i \* 56:i \* 56 + 112, img.shape\[1\] - 113:img.shape\[1\]-1\]) / 12544
# print("top\_right:",i\*56,img.shape\[1\]-1)
# print("bottom\_left:", i \* 56+112, img.shape\[1\] - 113)
for k in range(u.shape\[0\]):
if img.shape\[1\] - 113 < list\[k, 0\] < img.shape\[1\]-1 and i \* 56 < list\[k, 1\] < i \* 56 + 112:
tt = tt + 1
patch\_label = np.zeros((tt, 4))
tt1 = 0
# print(tt)
for k in range(u.shape\[0\]):
if img.shape\[1\] - 113 < list\[k, 0\] < img.shape\[1\]-1 and i \* 56 < list\[k, 1\] < i \* 56 + 112:
patch\_label\[tt1, 0\] = list\[k, 0\] - j \* 56
patch\_label\[tt1, 1\] = list\[k, 1\] - i \* 56
patch\_label\[tt1, 2\] = list\[k, 0\]
patch\_label\[tt1, 3\] = list\[k, 1\]
tt1 = tt1 + 1
if tt > 0 and pb == 0.1:
patch = img\[i \* 56:i \* 56 + 112, img.shape\[1\] - 113:img.shape\[1\]-1\]
pp = pp + 1
# print(patch.shape)
outputimg = outpathimgyes + '/' + filename\[:-4\] + '/' + filename\[:-4\] + '\_' + str(pp) + '.png'
cv2.imwrite(outputimg, patch)
outputtxt1 = outpathtxt + '/' + filename\[:-4\] + '/' + filename\[:-4\] + '\_' + str(pp) + '.txt'
np.savetxt(outputtxt1, patch\_label, fmt='%f')
if tt == 0 and pb == 0:
patch = img\[i \* 56:i \* 56 + 112, img.shape\[1\] - 113:img.shape\[1\]-1\]
ppp = ppp + 1
# print(patch.shape)
outputimg1 = outpathimgno + '/' + filename\[:-4\] + '/' + filename\[:-4\] + '\_' + str(ppp) + '.png'
cv2.imwrite(outputimg1, patch)
print(img.shape\[0\], img.shape\[1\])
#
#
#
for j in range(int(col-1)):
# print("bottom\_left:", img.shape\[0\]-1, j\*56)
# print("top\_right:", img.shape\[0\] - 113, j \* 56+112, )
tt = 0
pb = np.sum(black\[img.shape\[0\]-113:img.shape\[0\] - 1, j \* 56:j \* 56+112\]) / 12544
# print("top\_right:",i\*56,img.shape\[1\]-1)
# print("bottom\_left:", i \* 56+112, img.shape\[1\] - 113)
for k in range(u.shape\[0\]):
if j \* 56 < list\[k, 0\] < j \* 56+112 and img.shape\[0\]-113 < list\[k, 1\] < img.shape\[0\]-1:
tt = tt + 1
patch\_label = np.zeros((tt, 4))
tt1 = 0
# print(tt)
for k in range(u.shape\[0\]):
if j \* 56 < list\[k, 0\] < j \* 56+112 and img.shape\[0\]-113 < list\[k, 1\] < img.shape\[0\]-1:
patch\_label\[tt1, 0\] = list\[k, 0\] - j \* 56
patch\_label\[tt1, 1\] = list\[k, 1\] - i \* 56
patch\_label\[tt1, 2\] = list\[k, 0\]
patch\_label\[tt1, 3\] = list\[k, 1\]
tt1 = tt1 + 1
if tt > 0 and pb == 0:
patch = img\[img.shape\[0\]-113:img.shape\[0\] - 1, j \* 56:j \* 56+112\]
pp = pp + 1
# print(patch.shape)
outputimg = outpathimgyes + '/' + filename\[:-4\] + '/' + filename\[:-4\] + '\_' + str(pp) + '.png'
cv2.imwrite(outputimg, patch)
outputtxt1 = outpathtxt + '/' + filename\[:-4\] + '/' + filename\[:-4\] + '\_' + str(pp) + '.txt'
np.savetxt(outputtxt1, patch\_label, fmt='%f')
if tt == 0 and pb == 0:
patch = img\[img.shape\[0\]-113:img.shape\[0\] - 1, j \* 56:j \* 56+112\]
ppp = ppp + 1
# print(patch.shape)
outputimg1 = outpathimgno + '/' + filename\[:-4\] + '/' + filename\[:-4\] + '\_' + str(ppp) + '.png'
cv2.imwrite(outputimg1, patch)
# print(img.shape\[0\], img.shape\[1\])
# A = np.array(\[\[1, 2\], \[3, 4\], \[5, 6\]\])
# print(np.sum(A))
print(pp)
手机扫一扫
移动阅读更方便
你可能感兴趣的文章