成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python圖像基本操作有哪些

這篇文章主要介紹“Python圖像基本操作有哪些”,在日常操作中,相信很多人在Python圖像基本操作有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python圖像基本操作有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為正陽等服務建站,正陽等地企業(yè),進行企業(yè)商務咨詢服務。為正陽企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

libtiff 包裝器
from libtiff import TIFF

tif = TIFF.open('filename.tif', mode='r')    #打開tiff文件進行讀取
image = tif.read_image()                     #讀取圖像并作為numpy數(shù)組返回

for image in tif.iter_images()               #讀取TIFF文件中的所有圖像

tif = TIFF.open('filename.tif', mode='w')    #打開tiff文件進行寫入
tif.write_image(image)                       #將圖像寫入tiff文件
Python 模塊
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                                            # 刷新(釋放緩存)
opencv 模塊
import cv2
cv2.imread("filename",flags)

=====================其中:flags四種選擇如下:==================
IMREAD_UNCHANGED = -1 #不進行轉化,比如保存為了16位的圖片,讀取出來仍然為16位。
IMREAD_GRAYSCALE = 0 #轉化為灰度圖,比如保存為了16位的圖片,讀取出來為8位,類型為CV_8UC1。
IMREAD_COLOR = 1     #進行轉化為RGB三通道圖像,圖像深度轉為8位
IMREAD_ANYDEPTH = 2  #保持圖像深度不變,進行轉化為灰度圖。
IMREAD_ANYCOLOR = 4  #若通道數(shù)小于等于3,則保持不變;若通道數(shù)大于3則只取取前三個通道。圖像深度轉為8位

對于多通道TIFF圖像,若要保證圖像數(shù)據(jù)的正常讀取,顯然要選擇IMREAD_UNCHANGED
PIL 模塊
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))

輸出:#說明直接修改圖片后綴名,圖片的編碼格式并沒有改變
圖片格式: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打不開,此時用到了以下代碼用來縮小圖片。

  • 若文件寬大于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)

到此,關于“Python圖像基本操作有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

本文題目:Python圖像基本操作有哪些
分享路徑:http://jinyejixie.com/article16/iejgdg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、品牌網(wǎng)站制作、網(wǎng)站收錄、定制開發(fā)、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
故城县| 子长县| 焦作市| 临夏市| 乐陵市| 佳木斯市| 许昌市| 莆田市| 乐陵市| 大同市| 建水县| 谷城县| 江源县| 马关县| 阿拉善左旗| 蒙城县| 大厂| 公主岭市| 都江堰市| 永修县| 广安市| 大兴区| 江都市| 武冈市| 资源县| 沁阳市| 志丹县| 文昌市| 古浪县| 沁源县| 新巴尔虎右旗| 九龙坡区| 河源市| 辰溪县| 鹤壁市| 怀安县| 澄城县| 丰城市| 铁岭市| 富源县| 舒兰市|