电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:53日期: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、繪制圖像、點(diǎn)和線

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

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

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

2、圖像輪廓和直方圖

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

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

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

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

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

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

3、交互式標(biāo)注

在一幅圖像中標(biāo)記一些點(diǎn),或者標(biāo)注一些訓(xùn)練數(shù)據(jù)。PyLab 庫中的 ginput() 函數(shù)就可以實(shí)現(xiàn)交互式標(biāo)注。在圖像點(diǎn)擊三次,則程序會(huì)自動(dòng)將這3個(gè)點(diǎn)的坐標(biāo)點(diǎn)[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ù),下面的例子闡述了這一點(diǎn)

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

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

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

2、灰度變換

對圖像進(jìn)行灰度變換,如下所示:

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 #對圖像進(jìn)行反向處理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列,按編號(hào)順序排列 plt.imshow(images[i])#顯示圖像 plt.title(titles[i])#顯示標(biāo)題 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)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 小型数控车床-数控车床厂家-双头数控车床 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 四合院设计_四合院装修_四合院会所设计-四合院古建设计与建造中心1 | 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 上海防爆真空干燥箱-上海防爆冷库-上海防爆冷柜?-上海浦下防爆设备厂家? | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 精密机械零件加工_CNC加工_精密加工_数控车床加工_精密机械加工_机械零部件加工厂 | 屏蔽泵厂家,化工屏蔽泵_维修-淄博泵业 | 天助网 - 中小企业全网推广平台_生态整合营销知名服务商_天助网采购优选 | 防爆电机-高压防爆电机-ybx4电动机厂家-河南省南洋防爆电机有限公司 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 小型玉石雕刻机_家用玉雕机_小型万能雕刻机_凡刻雕刻机官网 | 车件|铜件|车削件|车床加工|五金冲压件-PIN针,精密车件定制专业厂商【东莞品晔】 | 油罐车_加油机_加油卷盘_加油机卷盘_罐车人孔盖_各类球阀_海底阀等车用配件厂家-湖北华特专用设备有限公司 | 考勤系统_人事考勤管理系统_本地部署BS考勤系统_考勤软件_天时考勤管理专家 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 上海阳光泵业制造有限公司 -【官方网站】 | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | 优考试_免费在线考试系统_培训考试系统_题库系统_组卷答题系统_匡优考试 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 物联网卡_物联网卡购买平台_移动物联网卡办理_移动联通电信流量卡通信模组采购平台? | 航拍_专业的无人机航拍摄影门户社区网站_航拍网| 脉冲除尘器,除尘器厂家-淄博机械| 压滤机-洗沙泥浆处理-压泥机-山东创新华一环境工程有限公司 | 警用|治安|保安|不锈钢岗亭-售货亭价格-垃圾分类亭-移动厕所厂家-苏州灿宇建材 | 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 礼至家居-全屋定制家具_一站式全屋整装_免费量房设计报价 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 定量包装秤,吨袋包装称,伸缩溜管,全自动包装秤,码垛机器人,无锡市邦尧机械工程有限公司 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 冷油器-冷油器换管改造-连云港灵动列管式冷油器生产厂家 |