這篇文章主要介紹“Python圖像基本操作有哪些”,在日常操作中,相信很多人在Python圖像基本操作有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”P(pán)ython圖像基本操作有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)服務(wù)團(tuán)隊(duì)是一支充滿(mǎn)著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠(chéng)為客戶(hù)提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)建站把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來(lái)開(kāi)發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!from libtiff import TIFF tif = TIFF.open('filename.tif', mode='r') #打開(kāi)tiff文件進(jìn)行讀取 image = tif.read_image() #讀取圖像并作為numpy數(shù)組返回 for image in tif.iter_images() #讀取TIFF文件中的所有圖像 tif = TIFF.open('filename.tif', mode='w') #打開(kāi)tiff文件進(jìn)行寫(xiě)入 tif.write_image(image) #將圖像寫(xiě)入tiff文件
from libtiff import TIFFfile, TIFFimage tif = TIFFfile('filename.tif') #讀取圖片 samples, sample_names = tiff.get_samples() tiff = TIFFimage(data, description='') tiff.write_file('filename.tif', compression='none') # or 'lzw' del tiff # 刷新(釋放緩存)
import cv2 cv2.imread("filename",flags) =====================其中:flags四種選擇如下:================== IMREAD_UNCHANGED = -1 #不進(jìn)行轉(zhuǎn)化,比如保存為了16位的圖片,讀取出來(lái)仍然為16位。 IMREAD_GRAYSCALE = 0 #轉(zhuǎn)化為灰度圖,比如保存為了16位的圖片,讀取出來(lái)為8位,類(lèi)型為CV_8UC1。 IMREAD_COLOR = 1 #進(jìn)行轉(zhuǎn)化為RGB三通道圖像,圖像深度轉(zhuǎn)為8位 IMREAD_ANYDEPTH = 2 #保持圖像深度不變,進(jìn)行轉(zhuǎn)化為灰度圖。 IMREAD_ANYCOLOR = 4 #若通道數(shù)小于等于3,則保持不變;若通道數(shù)大于3則只取取前三個(gè)通道。圖像深度轉(zhuǎn)為8位 對(duì)于多通道TIFF圖像,若要保證圖像數(shù)據(jù)的正常讀取,顯然要選擇IMREAD_UNCHANGED
from PIL import Image img0 = Image.open("D:/python_script/ffff/11lalala.jpg") img1 = Image.open("D:/python_script/ffff/42608122.tif") img2 = Image.open("D:/python_script/ffff/42608122_1.jpg") #這張圖片是直接修改上張圖的后綴名 print ("圖片格式:{0},圖片大小:{1},圖片模式:{2}".format(img0.format,img0.size,img0.mode)) print ("圖片格式:{0},圖片大小:{1},圖片模式:{2}".format(img1.format,img1.size,img1.mode)) print ("圖片格式:{0},圖片大小:{1},圖片模式:{2}".format(img2.format,img2.size,img2.mode)) 輸出:#說(shuō)明直接修改圖片后綴名,圖片的編碼格式并沒(méi)有改變 圖片格式:JPEG,圖片大小:(245, 213),圖片模式:RGB 圖片格式:TIFF,圖片大小:(2480, 3508),圖片模式:YCbCr 圖片格式:TIFF,圖片大小:(2480, 3508),圖片模式:YCbCr
import PIL.Image import os def convert(input_dir,output_dir): for filename in os.listdir(input_dir): path = input_dir+"/"+filename print("doing... ",path) PIL.Image.open(path).save(output_dir+"/"+filename[:-4]+".jpg") print ("%s has been changed!"%filename) if __name__ == '__main__': input_dir = "D:/classifier_data20181225/img1" output_dir = "D:/classifier_data20181225/img2" convert(input_dir,output_dir)
遇到分辨率大,圖片文件大小并不大的文件,opencv打不開(kāi),此時(shí)用到了以下代碼用來(lái)縮小圖片。
若文件寬大于1200,(高度小于1800)以此寬度等比縮放
若文件高大于1800,(寬度小于1200)以此高度等比縮放
import os from PIL import Image import shutil def get_img(input_dir): img_path_list = [] for (root_path,dirname,filenames) in os.walk(input_dir): for filename in filenames: img_path = root_path+"/"+filename img_path_list.append(img_path) print("img_path_list",img_path_list) return img_path_list def process_image(filename,output_dir, mwidth=1200, mheight=1800): image = Image.open(filename) w, h = image.size if w <= mwidth and h <= mheight: print(filename, 'is OK.') shutil.move(filename, output_dir+filename[-15:]) return if (1.0 * w / mwidth) > (1.0 * h / mheight): scale = 1.0 * w / mwidth new_im = image.resize((int(w / scale), int(h / scale)), Image.ANTIALIAS) else: scale = 1.0 * h / mheight new_im = image.resize((int(w / scale), int(h / scale)), Image.ANTIALIAS) new_im.save(output_dir+filename[-15:]) new_im.close() if __name__ == '__main__': input_dir = "D:/classifier_data20181212/lipei_resize_1" output_dir = "D:/classifier_data20181212/lipei_resize/" img_path_list = get_img(input_dir) for filename in img_path_list: print("filename",filename) process_image(filename,output_dir)
到此,關(guān)于“Python圖像基本操作有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前標(biāo)題:Python圖像基本操作有哪些-創(chuàng)新互聯(lián)
文章位置:http://aaarwkj.com/article48/icihp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、企業(yè)建站、全網(wǎng)營(yíng)銷(xiāo)推廣、App開(kāi)發(fā)、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容