欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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進(jìn)來
 
 save_full_path = os.path.join(save_path, npy_list[i][:-4])
 scipy.misc.imsave(save_full_path, img) # 保存

2. 用于分割模型

"""
將數(shù)據(jù)集隨機(jī)分成訓(xùn)練集、測試集
傳入?yún)?shù):
ratio = 0.7 # 訓(xùn)練樣本比例
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, 打亂當(dāng)前類中所有圖像
    random.shuffle(image_names)
 
    # 2, 從當(dāng)前類(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, 從當(dāng)前類(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 # 訓(xùn)練樣本比例
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()

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

由于深度神經(jīng)網(wǎng)絡(luò)的需要,我要將一個里面全是.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ù)組,當(dāng)然也可用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圖像并保存的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實(shí)現(xiàn)可變變量名方法詳解

    python實(shí)現(xiàn)可變變量名方法詳解

    在本篇文章里小編給大家整理了關(guān)于python實(shí)現(xiàn)可變變量名的相關(guān)知識點(diǎn)內(nèi)容以及實(shí)例代碼,需要的朋友們參考下。
    2019-07-07
  • python詞云庫wordcloud的使用方法與實(shí)例詳解

    python詞云庫wordcloud的使用方法與實(shí)例詳解

    這篇文章主要介紹了python詞云庫wordcloud的使用方法與實(shí)例詳解,需要的朋友可以參考下
    2020-02-02
  • python中判斷集合范圍的方法小結(jié)

    python中判斷集合范圍的方法小結(jié)

    這篇文章主要介紹了python中判斷集合范圍的方法小結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • python實(shí)用的快捷語法技巧大全

    python實(shí)用的快捷語法技巧大全

    初識Python語言,覺得python滿足了我上學(xué)時(shí)候?qū)幊陶Z言的所有要求,下面這篇文章主要給大家介紹了關(guān)于python實(shí)用的快捷語法技巧的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Python學(xué)習(xí)之sys模塊使用教程詳解

    Python學(xué)習(xí)之sys模塊使用教程詳解

    sys模塊?與?os包一樣,也是對系統(tǒng)資源進(jìn)行調(diào)用。功能同樣也是非常豐富。本文將對sys模塊的一些簡單且常用的函數(shù)進(jìn)行介紹,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • Python面向?qū)ο缶幊袒A(chǔ)解析(二)

    Python面向?qū)ο缶幊袒A(chǔ)解析(二)

    這篇文章主要介紹了Python面向?qū)ο缶幊袒A(chǔ)解析,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • Pygame中Sprite的使用方法示例詳解

    Pygame中Sprite的使用方法示例詳解

    這篇文章主要介紹了Pygame中Sprite的使用方法,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Python中你應(yīng)該知道的一些內(nèi)置函數(shù)

    Python中你應(yīng)該知道的一些內(nèi)置函數(shù)

    python提供了內(nèi)聯(lián)模塊buidin,該模塊定義了一些軟件開發(fā)中常用的函數(shù),這些函數(shù)實(shí)現(xiàn)了數(shù)據(jù)類型的轉(zhuǎn)換,數(shù)據(jù)的計(jì)算,序列的處理等功能。下面這篇文章主要給大家介紹了Python中一些大家應(yīng)該知道的內(nèi)置函數(shù),文中總結(jié)的非常詳細(xì),需要的朋友們下面來一起看看吧。
    2017-03-03
  • python類參數(shù)self使用示例

    python類參數(shù)self使用示例

    python中__new__和__init__到底是怎么一回事,使用方法看下面的代碼,大家參考使用吧
    2014-02-02
  • python實(shí)現(xiàn)微信發(fā)送郵件關(guān)閉電腦功能

    python實(shí)現(xiàn)微信發(fā)送郵件關(guān)閉電腦功能

    這篇文章主要介紹了python實(shí)現(xiàn)微信發(fā)送郵件關(guān)閉電腦功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評論