国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

python圖像處理基本操作總結(jié)(PIL庫、Matplotlib及Numpy)

瀏覽:44日期:2022-06-17 10:18:19
一、PIL庫對圖像的基本操作

1、讀取圖片

PIL網(wǎng)上有很多介紹,這里不再講解。直接操作,讀取一張圖片,將其轉(zhuǎn)換為灰度圖像,并打印出來。

from PIL import Imageimport matplotlib.pyplot as pltpil_im = Image.open('empire.jpeg')pil_image = pil_im.convert('L')plt.gray()plt.imshow(pil_image)plt.show()

輸出如下所示:

python圖像處理基本操作總結(jié)(PIL庫、Matplotlib及Numpy)

2、轉(zhuǎn)換圖片格式

PIL可以將圖像保存為多種格式,下面將PNG格式文件保存為JPG格式:

from PIL import Imageimport globimport osfilelist = glob.glob('E:/pythonProject1/filelist/*.png')for infile in filelist: outfile = os.path.splitext(infile)[0]+’.jpg’ if infile != outfile:try: Image.open(infile).save(outfile)except IOError: print('cannot convert', infile)

輸出結(jié)果如下所示:

python圖像處理基本操作總結(jié)(PIL庫、Matplotlib及Numpy)

3、輸出文件夾中所有圖片的文件名列表

import osdef get_imlist(path): '''返回目錄中所有JPG圖像的文件名列表''' return [os.path.join(path,f)for f in os.listdir(path) if f.endswith(’.jpg’)]print(get_imlist('E:/pythonProject1/filelist/'))

輸出為文件名列表

二、Matplotlib

1、繪制圖像、點和線

from PIL import Imagefrom pylab import * #讀取圖像到數(shù)組中im = array(Image.open('empire.jpeg')) #繪制圖像imshow(im) #一些點x = [100, 100, 400, 400]y = [200, 500, 200, 500] #使用紅色星狀標記繪制點plot(x, y)#默認為藍色實線# plot(x, y, ’r*’)#紅色星狀標記# plot(x, y, ’go-’)#帶有圓圈標記的綠線# plot(x, y, ’ks’)#帶有正方形標記的黑色虛線 #繪制連接前三個點的線plot(x[:3], y[:3])axis(’off’) #添加標題,顯示繪制的圖像titles = [’empire’]plt.title = titlesshow()

上面的代碼首先繪制出原始圖像,然后在 x 和 y 列表中給定點的 x 坐標和 y 坐標上繪制出紅色星狀標記點,最后在兩個列表表示的前兩個點之間繪制一條線段。該例子的繪制結(jié)果下圖:

python圖像處理基本操作總結(jié)(PIL庫、Matplotlib及Numpy)

2、圖像輪廓和直方圖

繪制輪廓需要對每個坐標 [x, y] 的像素值施加同一個閾值,所以首先需要將圖像灰度化,這里用 PIL 的 convert() 方法將圖像轉(zhuǎn)換成灰度圖像。圖像的直方圖用來表征該圖像像素值的分布情況。

from PIL import Imagefrom pylab import * # 讀取圖像到數(shù)組中im = array(Image.open('empire.jpeg').convert(’L’)) #創(chuàng)建一個圖像figure()#不使用顏色信息gray()#在原點的左上角顯示輪廓圖像contour(im, origin = ’image’)#檢測圖像輪廓axis(’equal’)axis(’off’)show()#新建一個圖像figurehist(im.flatten(), 128)#繪制圖像直方圖show()

圖像輪廓圖輸出如下所示:

python圖像處理基本操作總結(jié)(PIL庫、Matplotlib及Numpy)

輸出圖像直方圖如下所示:

python圖像處理基本操作總結(jié)(PIL庫、Matplotlib及Numpy)

3、交互式標注

在一幅圖像中標記一些點,或者標注一些訓(xùn)練數(shù)據(jù)。PyLab 庫中的 ginput() 函數(shù)就可以實現(xiàn)交互式標注。在圖像點擊三次,則程序會自動將這3個點的坐標點[x, y]保存到x列表里。

from PIL import Imagefrom pylab import * im = array(Image.open('empire.jpeg'))imshow(im)print('please click 3 points')x = ginput(3)print('you clicked',x)show()三、Numpy

1、圖像數(shù)組表示

對于圖像數(shù)據(jù),下面的例子闡述了這一點

from PIL import Imageimport numpy as np im = np.array(Image.open('empire.jpeg'))print(im.shape,im.dtype)

輸出為:(1024, 683, 3) uint8

每行的第一個元組表示圖像數(shù)組的大小(行、列、顏色通道),緊接著的字符串表示數(shù)組元素的數(shù)據(jù)類型。因為圖像通常被編碼成無符號八位整數(shù)(uint8),載入圖像并將其轉(zhuǎn)換到數(shù)組中,數(shù)組的數(shù)據(jù)類型為“uint8”。

2、灰度變換

對圖像進行灰度變換,如下所示:

from PIL import Imageimport numpy as np im = np.array(Image.open('empire.jpeg'))print(im.shape,im.dtype) from PIL import Imagefrom matplotlib.pylab import pltfrom numpy import * im1 = array(Image.open(’empire.jpeg’).convert(’L’))im2 = 255 - im1 #對圖像進行反向處理im3 = (100.0/255) * im1 + 100 #將圖像值變換到100-200之間im4 = 255.0 * (im1/255) ** 2 #對圖像像素值求平方后得到的圖像 images = [im1, im2, im3, im4]titles = ['f(x) = x', 'f(x) = 255 - x', 'f(x) = (100/255)*x +100', 'f(x) = 255*(x/255)^2']#輸出圖中的最大像素值和最小像素值print(int(im1.min()),int(im1.max()))print(int(im2.min()),int(im2.max()))print(int(im3.min()),int(im3.max()))print(int(im4.min()),int(im4.max())) for i in range(4): plt.subplot(2, 2, i+1)#2行2列,按編號順序排列 plt.imshow(images[i])#顯示圖像 plt.title(titles[i])#顯示標題 plt.gray() # plt.xticks([]) # plt.yticks([]) plt.axis(’equal’) plt.axis(’off’)plt.show()

輸出接入如下所示:

python圖像處理基本操作總結(jié)(PIL庫、Matplotlib及Numpy)

總結(jié)

到此這篇關(guān)于python圖像處理基本操作的文章就介紹到這了,更多相關(guān)python圖像處理操作內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 图片区偷拍区小说区 | 亚洲综合免费视频 | 一区二区三区视频免费 | 久久中文字幕久久久久 | 欧美成人免费观看 | 成人毛片1024你懂的 | 国产精品99精品久久免费 | 日本女人在线观看 | 成人在线观看午夜 | 中国高清色视频www 中国黄色网址大全 | 国产在亚洲线视频观看 | 欧美一级成人影院免费的 | 不卡的毛片 | 亚洲综合在线观看视频 | 中国欧美一级毛片免费 | 97精品国产91久久久久久 | 免费观看成为人视频 | 一级做a爱过程免费观看 | 日本a级特黄三级三级三级 日本a一级片 | 在线视频观看免费视频18 | 国产精品亚洲专区在线播放 | 国产精品拍自在线观看 | 国产精品久久久久毛片 | 日韩成人三级 | 国产午夜在线观看视频播放 | 和老外3p爽粗大免费视频 | 久久国产免费观看 | 91九色成人 | 鲁丝片一区二区三区免费 | 性欧美videos精品 | 99久久精品国产亚洲 | 国产成人综合95精品视频免费 | 欧美高清正版在线 | 毛片无码国产 | 国产一区二区三区成人久久片 | 日韩区在线| 国产精品黄网站免费观看 | 亚洲欧美国产视频 | 成人一级网站 | 国产不卡在线观看视频 | 亚洲视频手机在线观看 |