我有一个由几个细胞组成的图像(像任何一般形式)。我在csv文件中提供了坐标,其中有我需要裁剪的部分图像的roi,并将其保存为一个新文件,其中图像文件名为文件夹名,坐标单元名为图像名。在
我可以使用pil库中的crop单独裁剪图像,但我不确定如何从图像中提取多个细胞的坐标数据,并基于图像中的裁剪roi。在
import glob,os,sys
from PIL import Image
class ROIExtraction:
def readImages(inputFolder):
ext = ['.png', '.jpg', '.gif', '.jpeg', '.tif', '.tiff']
files = []
path = inputFolder + "/*.*"
files = glob.glob(path)
imageFiles=[]
for i in files:
exten=os.path.splitext(i)[1]
if exten in ext:
imageFiles.append(i)
return imageFiles
def processRoi(imageFiles):
for imagePath in imageFiles:
img_name = os.path.splitext(os.path.basename(imagePath))[0]
output_folder = sys.argv[2]+'/'+img_name+'/'
os.makedirs(output_folder, exist_ok=True)
# import image
image = Image.open(imagePath)
img2 = image.crop((1385,45,2256,149))
img2.show()
img2.save(output_folder+'{}.png')
imageFiles = ROIExtraction.readImages(sys.argv[1])
ROIExtraction.processRoi(imageFiles)
在上面的代码中,我手动输入了坐标,但我想写一个程序,从csv文件中提取坐标,并在此基础上从图像中裁剪出感兴趣区域。在
以下是csv文件内容的示例-
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐