python 图像的保存和显示,遍历保存于显示, 去除白色像素点

来源:互联网 发布:火车头采集本地数据 编辑:程序博客网 时间:2024/04/30 07:04

                                                                                             图像的保存和显示 ,去除白色像素点

  1.  单张图像——读取,显示,保存
  • import matplotlib.pyplot as pltfrom PIL import Image   img = Image.open('F:/image/train_0.jpg')plt.figure() plt.imshow(img)plt.show()plt.savefig('F:/save/train_0.jpg')         

  •      

    2. 单张图像——读取,保存

  •  法一:
    from skimage import ioimg = Image.open('F:/image/train_0.jpg')io.imsave('F:/save/train_0.jpg',img)

  • 保存结果同上
  • 法二
  • import cv2 as cvcv.imwrite("kmvs/photo%s.jpg"%(i+1),pale)

  • import cv2cv2.imwrite("kmvs/photo%s.jpg"%(i+1),pale)

  • 别的可参考  http://blog.csdn.net/sunny2038/article/details/9057415


   3. 多张图像——遍历读取,保存

  •       
    import osfrom skimage import iofrom PIL import Image def load_image(imgDir,SaveDir):    imgs = os.listdir(imgDir)    imgNum = len(imgs)    for i in range(imgNum):        img = Image.open(imgDir+"/"+"train_%s.jpg"%i)        io.imsave(SaveDir+"/"+"train_%s.jpg"%i, img)if __name__ == '__main__':    load_image('F:/image', 'F:/save')

        4.  去除白色像素点
       
def getPixData(imgfile='imgs/avatar_282x282.png'):    data = cv.cvtColor(cv.imread(imgfile, 1), cv.COLOR_BGR2RGB)    newdata = []        for item1 in data:                for item in item1:             if item[0] !=255 and item[1]!=255 and item[2]!=255:                newdata.append(item)    newdata=np.array(newdata)    w,h = newdata.shape    length = w*h    w1 = int(math.sqrt(w))        length1 = w1 * w1 * h    newdata2 = newdata.reshape(length)    newdata2 = list(newdata2)    newdata3 =[]        for index, item in enumerate(newdata2):        if index <= (length1-1):            newdata3.append(item)         newdata4 = np.array(newdata3)    newdata5 = newdata4.reshape(w1,w1,h)        return newdata5


  • 原图:
      


  • 结果图










































阅读全文
0 0
原创粉丝点击