最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用npy轉(zhuǎn)image圖像并保存的實例

 更新時間:2020年07月01日 09:00:29   作者:Mr.Q  
這篇文章主要介紹了使用npy轉(zhuǎn)image圖像并保存的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1. 用于分類模型:

import numpy as np
import scipy.misc
import cv2
import os
 
# DF1
path = "/home/pi/工作/predict1/"
npy_list = os.listdir(path)
save_path = "/home/pi/predict1_img/"
if not os.path.exists(save_path):
 os.mkdir(save_path)
 
for i in range(0, len(npy_list)):
 print(i)
 print(npy_list[i])
 npy_full_path = os.path.join(path, npy_list[i])
 img = np.load(npy_full_path) # load進來
 
 save_full_path = os.path.join(save_path, npy_list[i][:-4])
 scipy.misc.imsave(save_full_path, img) # 保存

2. 用于分割模型

"""
將數(shù)據(jù)集隨機分成訓練集、測試集
傳入?yún)?shù):
ratio = 0.7 # 訓練樣本比例
path = "/home/pi/20190701_0705" # 數(shù)據(jù)路徑
new_path = "/home/pi/20190701_0705_new2" # 保存路徑
使用方法:
temp = Generate_Train_and_Test(path, new_path, ratio)
temp.splict_data()
"""
import random
import os
import cv2
 
def makeDir(path):
 try:
  if not os.path.exists(path):
   if not os.path.isfile(path):
    # os.mkdir(path)
    os.makedirs(path)
    return 0
  else:
   return 1
 except Exception as e:
  print(str(e))
  return -2
 
class Generate_Train_and_Test:
 
 def __init__(self, path, new_path, ratio):
  if not os.path.exists(new_path):
   makeDir(new_path)
  self.path = path
  self.new_path = new_path
  self.ratio = ratio
  self.train_sample_path = os.path.join(new_path, "train")
  self.test_sample_path = os.path.join(new_path, "test")
 
  makeDir(self.train_sample_path)
  makeDir(self.test_sample_path)
 
 def splict_data(self):
  class_names = os.listdir(self.path) # 類別:bg and ng10
  for name in class_names:
   print("process class name=%s" % name)
   tmp_class_name = os.path.join(self.path, name)
   save_train_class_name = os.path.join(self.train_sample_path, name)
   save_test_class_name = os.path.join(self.test_sample_path, name)
   makeDir(save_train_class_name)
   makeDir(save_test_class_name)
   if os.path.isdir(tmp_class_name):
    image_names = os.listdir(tmp_class_name) # 其中一個類別的所有圖像
    image_names = [f for f in image_names if not f.endswith('_mask.png')]
    total = len(image_names)
 
    # 1, 打亂當前類中所有圖像
    random.shuffle(image_names)
 
    # 2, 從當前類(ng)中,取前面的圖像作為train data
    train_temp = int(self.ratio * total) # 打亂后,取前面作為train_data
    for i in range(0, train_temp):
     print(i, image_names[i])
     temp_img_name = os.path.join(tmp_class_name, image_names[i])
     train_image = cv2.imread(temp_img_name)
     temp_label_name = os.path.join(tmp_class_name, image_names[i][:-4] + '_mask.png')
     train_label = cv2.imread(temp_label_name)
 
     save_train_img_name = os.path.join(save_train_class_name, image_names[i])
     cv2.imwrite(save_train_img_name, train_image)
 
     save_train_label_name = os.path.join(save_train_class_name, image_names[i][:-4] + '_mask.png')
     cv2.imwrite(save_train_label_name, train_label)
 
    # 3, 從當前類(bg)中,取后面的圖像作為test data
    for i in range(train_temp, total):
     print(i, image_names[i])
     test_img_name = os.path.join(tmp_class_name, image_names[i])
     test_image = cv2.imread(test_img_name)
     test_label_name = os.path.join(tmp_class_name, image_names[i][:-4] + '_mask.png')
     test_label = cv2.imread(test_label_name)
 
     save_test_img_name = os.path.join(save_test_class_name, image_names[i])
     cv2.imwrite(save_test_img_name, test_image)
 
     save_test_label_name = os.path.join(save_test_class_name, image_names[i][:-4] + '_mask.png')
     cv2.imwrite(save_test_label_name, test_label)
 
ratio = 0.7 # 訓練樣本比例
path = "/home/pi/工作/20190712_splict" # 數(shù)據(jù)路徑
new_path = "/home/pi/工作/20190712_splict_new3" # 保存路徑
 
temp = Generate_Train_and_Test(path, new_path, ratio)
temp.splict_data()

補充知識:python把由圖片組成的文件夾轉(zhuǎn)換為.npy文件

由于深度神經(jīng)網(wǎng)絡的需要,我要將一個里面全是.png格式的圖片的文件夾轉(zhuǎn)換為一個.npy文件,即將一個圖片文件夾轉(zhuǎn)換成一個.npy文件。

具體思路為:

若已知文件夾中圖片數(shù)量,可生成一個三維數(shù)組,第一維表示圖片數(shù)量,后兩維表示一張圖片的尺寸;

利用np.save()函數(shù)將生成的三維數(shù)組保存成一個.npy文件

import numpy as np
import imageio
import os
os.chdir('E:/RegistrationCode/papercode/datasets/mri_2d_test')  #切換python工作路徑到你要操作的圖片文件夾,mri_2d_test為我的圖片文件夾
a=np.ones((190,192,160)) #利用np.ones()函數(shù)生成一個三維數(shù)組,當然也可用np.zeros,此數(shù)組的每個元素a[i]保存一張圖片
i=0
for filename in os.listdir(r"E:/RegistrationCode/papercode/datasets/mri_2d_test"): #使用os.listdir()獲取該文件夾下每一張圖片的名字
 im=imageio.imread(filename)
 a[i]=im
 i=i+1
 if(i==190): #190為文件夾中的圖片數(shù)量
 break
np.save('你要保存的.npy文件所在路徑及名字',a)

以上這篇使用npy轉(zhuǎn)image圖像并保存的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決python運行啟動報錯問題

    解決python運行啟動報錯問題

    這篇文章主要介紹了解決python運行啟動報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python實習總結(jié)(yeild,async,azwait和協(xié)程)

    python實習總結(jié)(yeild,async,azwait和協(xié)程)

    今天是Python實習的第一天,熟悉了環(huán)境,第一次使用macbook,氛圍還不錯,努力學習新知識,希望本片文章能給你帶來幫助
    2021-10-10
  • Python3 循環(huán)語句(for、while、break、range等)

    Python3 循環(huán)語句(for、while、break、range等)

    這篇文章主要介紹了Python3 循環(huán)語句(for、while、break、range等),大家把下面的文章看完就基本上就可以了解了python的循環(huán)實現(xiàn)方式了
    2017-11-11
  • 最新評論

    克拉玛依市| 松滋市| 勐海县| 铜陵市| 璧山县| 剑河县| 沙湾县| 革吉县| 措勤县| 疏附县| 白银市| 广安市| 咸宁市| 射阳县| 长海县| SHOW| 军事| 南岸区| 临泉县| 锡林浩特市| 谷城县| 行唐县| 平武县| 苏尼特右旗| 油尖旺区| 洪雅县| 自治县| 宜昌市| 伊金霍洛旗| 南投市| 修水县| 家居| 开封市| 石嘴山市| 云浮市| 社会| 延吉市| 江口县| 中超| 滕州市| 工布江达县|