代码链接:https://github.com/duchp/python-all/tree/master/BreakHis
前言(博主的废话感悟)
经过研一上半学期的各种颓废,迷茫以及瞎学,博主终于在研一下半学期正式走入了研究的轨道中,那么像我们这种方向的研究生,入门研究第一件要做的事情就是复现论文~
论文首先是要读懂,然后get它使用的数据集(这个一般论文里面作者会提到的),下载下来之后呢,第一件事情就是读取它,并且根据自己使用的框架(博主这里用的pytorch)建立它所需要的数据集类型,pytorch的数据类型是Dataset,也就是torch.utils.data.Dataset结构,我们需要将下载好的数据集建立成这样的结构,才能进行后续的过程(比如分batch,搭建网络,预训练balabala的)
一、图片分割
这里博主读了一篇论文,并且get了它的数据集,但是文章中提到要将原本700X460大小的图片每张都分割成294张32X32的小图,并且这些小图的像素点是不重合的。那至于具体怎么分割,论文只字不提= =,所以本机智girl就算了一下,发现700/32为21余28,460/32为14余12,21x14正好294。嗯,那问题来了,多余的像素点我应该如何分配呢~这里博主本着试验的心态,将多余的像素点分配在了边缘,也就是图片上下分别剪掉14像素,左右分别剪掉6像素。
那下面借助PIL里面crop函数进行分割~
由于我们之后训练网络的时候需要数据的标签,所以在对图像分割的时候,应当将标签一同传入分割函数中,上代码:
def img_seg(img,label):
hight,width = img.size
w = 32
id = 0
j = 6
new_imgs =