物聯(lián)網(wǎng)Python編程實(shí)戰(zhàn) 課件 單元7 Python圖像處理_第1頁
物聯(lián)網(wǎng)Python編程實(shí)戰(zhàn) 課件 單元7 Python圖像處理_第2頁
物聯(lián)網(wǎng)Python編程實(shí)戰(zhàn) 課件 單元7 Python圖像處理_第3頁
物聯(lián)網(wǎng)Python編程實(shí)戰(zhàn) 課件 單元7 Python圖像處理_第4頁
物聯(lián)網(wǎng)Python編程實(shí)戰(zhàn) 課件 單元7 Python圖像處理_第5頁
已閱讀5頁,還剩72頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

圖形識別任務(wù)1:圖像處理基礎(chǔ)年終總結(jié)

新年計劃

述職報告工作匯報思考什么是圖像以及圖像是如何存儲的?彩色圖像

二值圖像灰度圖像目錄頁

常用圖像處理算法圖像圖像(image):是泛指照片、動畫等等形成視覺景象的事物。一般可以分為模擬圖像和數(shù)字圖像。圖像數(shù)字圖像,又稱數(shù)碼圖像或數(shù)位圖像,是二維圖像用有限數(shù)字?jǐn)?shù)值像素的表示。在計算機(jī)系統(tǒng)中萬物皆數(shù),計算機(jī)會把圖像打碎成像素矩陣,存儲每個表示位置像素的顏色二值圖像

第一章二值圖像二值圖像二值圖像顧名思義,要么為白色(像素為1),要么為黑色(像素為0)。將灰度圖像轉(zhuǎn)換為二值圖像的過程,常通過依次遍歷判斷實(shí)現(xiàn),如果像素>=127則設(shè)置為1,否則設(shè)置為0。黑&白1位/像素值0~1高度*寬度灰度圖像第二章

灰度圖像灰度圖像灰度圖像除了黑和白,還有灰色,它把灰度劃分為256個不同的顏色,圖像看著也更為清晰?;叶?位/像素值0~255高度*寬度RGB圖像第三章

RGB圖像彩色圖像是RGB圖像,RGB表示紅、綠、藍(lán)三原色,計算機(jī)里所有顏色都是三原色不同比例組成的,即三色通道。顏色(RGB)24位/像素RGB:紅、綠、藍(lán)高度*寬度*32的24次方種顏色真彩色1677萬多色R代表Red(紅色),G代表green(綠色),B代表blue(藍(lán)色)RGB圖像(255,255,255)表示白色(0,0,0)表示黑色常用圖像處理算法第四章

圖像處理算法1.圖像變換空域與頻域、幾何變換、色度變換、尺度變換4.圖像特征幾何特征形狀特征幅值特征顏色特征…2.圖像增強(qiáng)灰度增強(qiáng)、直方圖增強(qiáng)圖像平滑/降噪、圖像(邊緣)銳化3.圖像分割閾值分割基于邊界分割(Canny邊緣檢測、輪廓提取等)Hough變換(直線檢測、圓檢測)色彩分割等6.色彩分析色度、色密度、光譜、顏色直方圖、自動白平衡5.圖像/模板匹配輪廓匹配、歸一化積相關(guān)灰度匹配、不變矩匹配、最小均方誤差匹配7.圖像數(shù)據(jù)編碼壓縮和傳輸色度、色密度、光譜、顏色直方圖、自動白平衡8.圖像識別經(jīng)過某些預(yù)處理,提取特征后進(jìn)行分類9.圖像復(fù)原一般根據(jù)“降質(zhì)模型”,再采用某種濾波方法,恢復(fù)或重建原來的圖像常用圖像處理Python庫3421OpenCVOpenCV是用于圖像處理和計算機(jī)視覺的最流行和最廣泛使用的庫之一。SimpleCV請SimpleCV是一個python框架。該庫簡單易用,對快速原型設(shè)計非常有幫助。PillowPillow是一個Python圖像處理庫,源于PIL或Python圖像庫。MahotasMahotas是一個用于圖像處理和計算機(jī)視覺的Python庫。5PgmagickPgmagick是GraphicsMagick的Python包裝器。它支持88多種圖像格式。除了圖像處理工作外,它還可以用于web應(yīng)用程序中創(chuàng)建新圖像。總結(jié)概括圖像二值化RGB原理圖像灰度化常用圖像處理算法及Python庫

2

0

2

3謝謝觀看主講人:李博江蘇電子信息職業(yè)學(xué)院圖形識別任務(wù)2:圖像處理—灰度化年終總結(jié)

新年計劃

述職報告工作匯報主講人:李博江蘇電子信息職業(yè)學(xué)院

電子網(wǎng)絡(luò)學(xué)院

目錄頁三原色像素值提取圖片灰度化處理三原色像素提取

第一章三原色RGB三原色彩色圖像是RGB圖像,RGB表示紅、綠、藍(lán)三原色,計算機(jī)里所有顏色都是三原色不同比例組成的,即三色通道。RGB紅+綠+藍(lán)1+1+1>31677萬多色像素提取RGB:提取區(qū)域圖像灰度化處理第二章

圖像灰度化灰度化圖像灰度化是將一幅彩色圖像轉(zhuǎn)換為灰度圖像的過程?;叶葓D像只包含一個通道,在灰度化過程中,每個像素的RGB值被組合成一個單一的灰度值。加權(quán)平均法根據(jù)光的亮度特性,公式:R=G=B=R0.299+G*0.587+B0.114取平均值法Gray=(R+G+B)/3最大值/最小值法將紅、綠、藍(lán)三個顏色通道的最大值/最小值作為灰度值。整數(shù)算法/浮點(diǎn)數(shù)算法浮點(diǎn)數(shù):Gray=R0.3+G0.59+B0.11整數(shù)數(shù):Gray=(R30+G59+B11)/100移位法Gray=(R28+G151+B77)>>8;圖像灰度化3421OpenCVOpenCV是用于圖像處理和計算機(jī)視覺的最流行和最廣泛使用的庫之一。SimpleCV請SimpleCV是一個python框架。該庫簡單易用,對快速原型設(shè)計非常有幫助。PillowPillow是一個Python圖像處理庫,源于PIL或Python圖像庫。MahotasMahotas是一個用于圖像處理和計算機(jī)視覺的Python庫。5PgmagickPgmagick是GraphicsMagick的Python包裝器。它支持88多種圖像格式。除了圖像處理工作外,它還可以用于web應(yīng)用程序中創(chuàng)建新圖像。圖像灰度化PILPillow是PIL的一個派生分支。PIL,全稱PythonImageLibrary,主要作用是圖像處理,可用于圖片剪切、粘貼、縮放、顏色塊、濾鏡、圖像格式轉(zhuǎn)換、色場空間轉(zhuǎn)換\旋轉(zhuǎn)圖像、圖像增強(qiáng)、直方圖處理、插值和濾波等功能。第三方庫安裝和導(dǎo)入打開并創(chuàng)建圖像實(shí)例Pillow安裝pipinstallpillow導(dǎo)包fromPILimportImagefromPILimportImage

image=Image.open('test.jpg')

print(image.format,image.size,image.mode)

image.show()Test.jpg圖像灰度化打開并創(chuàng)建圖像實(shí)例實(shí)例屬性說明:

format

圖像格式

size

圖像的(寬,高)元組

mode

圖像模式,show()

方法:查看器顯示圖像fromPILimportImage

image=Image.open('test.jpg')

print(image.format,image.size,image.mode)

image.show()圖像灰度化圖片灰度化處理流程導(dǎo)入PIL庫fromPILimportImage

img=Image.open('test.jpg')

Img.show()

打開圖片修改圖片模式保存修改的圖片展示圖片Img=img.convert('L')

Img.save("test1.jpg")圖像灰度化運(yùn)行程序查看效果圖像灰度化RGB灰度化L=R*299/1000+G*587/1000+B*114/1000從模式“RGB”轉(zhuǎn)換為“L”模式是按照下面的公式轉(zhuǎn)換的:加權(quán)平均法總結(jié)概括像素點(diǎn)提取圖像灰度化步驟與編程實(shí)現(xiàn)

2

0

2

3謝謝觀看主講人:李博江蘇電子信息職業(yè)學(xué)院圖形識別任務(wù)3:圖像處理—二值化年終總結(jié)

新年計劃

述職報告工作匯報主講人:李博江蘇電子信息職業(yè)學(xué)院

電子工程學(xué)院世界第一張

圖片1826拍攝在LeGras的窗外景色尼埃普斯1826年時代1826年,第一張照片的窗外景色尼埃普斯記憶

習(xí)任務(wù)圖片二值化處理學(xué)圖像灰度化圖片灰度化處理流程導(dǎo)入PIL庫fromPILimportImage

img=Image.open('test.jpg')

Img.show()

打開圖片修改圖片模式保存修改的圖片展示圖片Img=img.convert('L')

Img.save("test1.jpg")圖像二值化處理圖片二值化處理流程導(dǎo)入PIL庫打開圖片圖片灰度化保存和展示灰度圖片保存和展示二值圖片生成顏色映射表模式轉(zhuǎn)換設(shè)置閾值fromPILimportImageimage=Image.open('test.jpg')Img=image.convert('L')Img.save("test1.jpg")

Img.show()threshold=127table=[]

foriinrange(256):

ifi<threshold:

table.append(0)

else:

table.append(1)photo=Img.point(table,'1')

photo.save("test2.jpg")

photo.show()灰度二值化閾值127二值化閾值200修改threshold閾值,觀察二值效果圖像二值化處理思考圖像二值化的作用?

2

0

2

3謝謝觀看主講人:李博江蘇電子信息職業(yè)學(xué)院圖形識別任務(wù)4:矩形識別年終總結(jié)

新年計劃

述職報告工作匯報主講人:李博江蘇電子信息職業(yè)學(xué)院

電子工程學(xué)院

目錄頁Openmv矩形識別流程

find_rects()函數(shù)OpenMV識別矩形流程

第一章矩形識別流程思考開始計時拍攝圖片圖形識別與處理停止計時while導(dǎo)入庫文件初始化攝像頭設(shè)置像素模式設(shè)置圖像大小設(shè)置等待時間創(chuàng)建clock實(shí)例矩形識別流程考導(dǎo)入庫文件初始化攝像頭設(shè)置像素模式設(shè)置圖像大小設(shè)置等待時間創(chuàng)建clock實(shí)例importsensor,image,time

sensor.reset()sensor.set_pixformat()設(shè)置像素模式。sensor.GRAYSCALE:灰度,每個像素8bit。sensor.RGB565:彩色,每個像素16bit。設(shè)置彩色/黑白矩形識別流程思導(dǎo)入庫文件初始化攝像頭設(shè)置像素模式設(shè)置圖像大小設(shè)置等待時間創(chuàng)建clock實(shí)例sensor.QQCIF:88x72sensor.QCIF:176x144sensor.CIF:352x288sensor.QQSIF:88x60sensor.QSIF:176x120sensor.SIF:352x240sensor.QQQQVGA:40x30sensor.QQQVGA:80x60sensor.QQVGA:160x120sensor.QVGA:320x240sensor.VGA:640x480sensor.HQQQVGA:80x40sensor.HQQVGA:160x80sensor.HQVGA:240x160sensor.B64X32:64x32(用于幀差異image.find_displacement())sensor.B64X64:64x64用于幀差異image.find_displacement())sensor.B128X64:128x64(用于幀差異image.find_displacement())sensor.B128X128:128x128(用于幀差異image.find_displacement())sensor.LCD:128x160(用于LCD擴(kuò)展板)sensor.QQVGA2:128x160(用于LCD擴(kuò)展板)sensor.WVGA:720x480(用于MT9V034)sensor.WVGA2:752x480(用于MT9V034)sensor.SVGA:800x600(僅用于OV5640感光元件)sensor.XGA:1024x768(僅用于OV5640感光元件)sensor.SXGA:1280x1024(僅用于OV5640感光元件)sensor.UXGA:1600x1200(僅用于OV5640感光元件)sensor.HD:1280x720(僅用于OV5640感光元件)sensor.FHD:1920x1080(僅用于OV5640感光元件)sensor.QHD:2560x1440(僅用于OV5640感光元件)sensor.QXGA:2048x1536(僅用于OV5640感光元件)sensor.WQXGA:2560x1600(僅用于OV5640感光元件)sensor.WQXGA2:2592x1944(僅用于OV5640感光元件)sensor.set_framesize(sensor.QQVGA)矩形識別流程思導(dǎo)入庫文件初始化攝像頭設(shè)置像素模式設(shè)置圖像大小設(shè)置等待時間創(chuàng)建clock實(shí)例sensor.skip_frame(20)#跳過20幀數(shù)sensor.skip_frame(time=2000)#跳過2000ms=2s設(shè)置等待時長/跳過幀數(shù)函數(shù)原型是:sensor.skip_frames([n,time]),兩種實(shí)現(xiàn)方式:clock=time.clock()矩形識別流程思考導(dǎo)入庫文件初始化攝像頭設(shè)置像素模式設(shè)置圖像大小設(shè)置等待時間創(chuàng)建clock實(shí)例importsensor,image,time

sensor.reset()

sensor.set_pixformat(sensor.RGB565)

sensor.set_framesize(sensor.QQVGA)

sensor.skip_frames(time=2000)

clock=time.clock()矩形識別流程思開始計時拍攝圖片圖形識別與處理停止計時whileclock.tick()img=sensor.snapshot()forrect

inimg.find_rects(threshold=20000):

img.draw_rectangle(rect.rect(),color=(255,0,0))

forpinrect.corners():

img.draw_circle(p[0],p[1],5,color=(0,255,0))

print(r)while(True):print("FPS%f"%clock.fps())find_rects()函數(shù)第二章

矩形識別函數(shù)find_rects識別矩形·OpenMV中文入門教程image—機(jī)器視覺—MicroPython1.9.2文檔()find_rects函數(shù)四元檢測算法識別矩形,可以識別任意大小、角度的矩形。函數(shù)返回一個rect對象的列表參考文檔矩形識別函數(shù)find_rects參數(shù)roi感興趣區(qū)域threshold邊界大小find_rects(roi=(80,20,100,70),threshold=20000)(80,60)10070矩形識別函數(shù)find_rects函數(shù)返回結(jié)果find_rects函數(shù)將識別的到所有矩形以列表形式返回遍歷列表,結(jié)合不同的方法獲取每一個rect對象信息。返回檢測到矩形的大小。rect.corners()rect.rect()rect.magnitude()返回一個有四個元組的列表,每個元組代表矩形的四個頂點(diǎn)(x,y).從左上角的頂點(diǎn)開始,按照順時針排序。返回檢測到的矩形的外接長方形的(x,y,w,h)。矩形識別函數(shù)find_rects函數(shù)返回結(jié)果find_rects函數(shù)將識別的到所有矩形以列表形式返回遍歷列表,結(jié)合不同的方法獲取每一個rect對象信息。(x0,y0)(x1,y1)(x2,y2)(x3,y3)[(x0,y0),(x1,y1),(x2,y2),(x3,y3)]rect.corners()矩形識別結(jié)果標(biāo)注draw_rectangledraw_rectangle函數(shù)文檔遍歷find_rects函數(shù)識別到的rects列表,并將識別到的矩形輪廓繪制img.draw_rectangle(r.rect(),color=(255,0,0))繪制矩形四個頂點(diǎn)坐標(biāo)返回一個有四個元組的列表,每個元組代表矩形的四個頂點(diǎn)(x,y).從左上角的頂點(diǎn)開始,按照順時針排序。forpinrect.corners():

img.draw_circle(p[0],p[1],5,color=(0,255,0))draw_circle函數(shù)文檔rect.corners()矩形識別結(jié)果標(biāo)注矩形識別思考導(dǎo)入庫文件初始化攝像頭設(shè)置像素模式設(shè)置圖像大小設(shè)置等待時間創(chuàng)建clock實(shí)例開始計時拍攝圖片圖形識別與處理停止計時while#FindRectsExample

importsensor,image,time

sensor.reset()

sensor.set_pixformat(sensor.RGB565)

sensor.set_framesize(sensor.QQVGA)

sensor.skip_frames(time=2000)

clock=time.clock()

while(True):

clock.tick()

img=sensor.snapshot()

forrectinimg.find_rects(roi=(80,60,80,60),threshold=20000):

img.draw_rectangle(rect.rect(),color=(255,0,0))

forpinrect.corners():

img.draw_circle(p[0],p[1],5,color=(0,255,0))

print(rect)

print("FPS%f"%clock.fps())圖像灰度化運(yùn)行程序查看效果練習(xí)任務(wù)1.下載test.jpg圖片,使用OpenMV進(jìn)行拍攝,調(diào)試Rect.py案例;2.修改find_rects函數(shù)中roi和threshold參數(shù);3.修改draw_rectangle()中color信息;4.修改draw_circle()中參數(shù)信息,運(yùn)行查看識別效果5.在學(xué)習(xí)手冊中完成識別結(jié)果記錄與問題總結(jié)總結(jié)概括矩形識別流程矩形識別函數(shù)與識別結(jié)果處理2023謝謝觀看主講人:李博江蘇電子信息職業(yè)學(xué)院圖形識別任務(wù)2:圖像處理—圓形識別年終總結(jié)

新年計劃

述職報告工作匯報主講人:李博江蘇電子信息職業(yè)學(xué)院

電子網(wǎng)絡(luò)學(xué)院

目錄頁三原色像素值提取find_circles

Openmv圓形識別流程Openmv圓形識別流程

第一章圓形識別流程思考導(dǎo)入庫文件初始化攝像頭設(shè)置像素模式設(shè)置圖像大小設(shè)置等待時間創(chuàng)建clock實(shí)例開始計時拍攝圖片圖形識別與處理停止計時while圓形識別流程思考導(dǎo)入庫文件初始化攝像頭設(shè)置像素模式設(shè)置圖像大小設(shè)置等待時間創(chuàng)建clock實(shí)例importsensor,image,time

sensor.reset()

sensor.set_pixformat(sensor.RGB565)

sensor.set_framesize(sensor.QQVGA)

sensor.skip_frames(time=2000)

clock=time.clock()準(zhǔn)備流程圓形識別流程思開始計時拍攝圖片圖形識別與處理停止計時while圓形識別流程與實(shí)現(xiàn)while(True):

clock.tick()

img=sensor.snapshot().lens_corr(1.8)

forcinimg.find_circles(threshold=2000,

x_margin=10,

y_margin=10,

r_margin=10,

r_min=2,

r_max=100,

r_step=2):

img.draw_circle(c.x(),c.y(),c.r(),color=(255,0,0))

print(c)

print("FPS%f"%clock.fps())find_circles第二章

矩形識別函數(shù)find_circles識別圓形·OpenMV中文入門教程image—機(jī)器視覺—MicroPython1.9.2文檔()find_circles函數(shù)使用霍夫變換在圖像中查找圓。返回一個

image.circle

對象列表參考文檔矩形識別函數(shù)image.find_circles([roi[,

x_stride=2[,

y_stride=1[,

threshold=2000[,

x_margin=10[,

y_margin=10[,

r_margin=10[,

r_min=2[,

r_max[,

r_step=2]]]]]]]]]])

函數(shù)原型x_stride

是霍夫變換時需要跳過的x像素的數(shù)量。若已知圓較大,可增加

x_stride

。y_stride

是霍夫變換時需要跳過的y像素的數(shù)量。若已知圓較大,可增加

y_stride

。roi

是一個用以復(fù)制的矩形的感興趣區(qū)域(x,y,w,h)。如果未指定,

ROI

即圖像矩形。操作范圍僅限于roi區(qū)域內(nèi)的

threshold

控制從霍夫變換中監(jiān)測到的圓。只返回大于或等于

threshold

的圓。應(yīng)用程序的正確的

th

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論