淺談?dòng)?jì)算思維教育中建模與編程的融合_第1頁
淺談?dòng)?jì)算思維教育中建模與編程的融合_第2頁
淺談?dòng)?jì)算思維教育中建模與編程的融合_第3頁
淺談?dòng)?jì)算思維教育中建模與編程的融合_第4頁
淺談?dòng)?jì)算思維教育中建模與編程的融合_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

OpenCV(OpensourceComputerVision)處理圖像仿射變換為例,通過經(jīng)歷問題的抽象、建模、算關(guān)鍵詞:自動(dòng)化到系統(tǒng)化的方法路徑親歷問題解決的全過程[4](1

11+2+…+100的累加和為例,作為一個(gè)學(xué)習(xí)循環(huán)控制結(jié)構(gòu)的典型例題,通???+2+…+ns=(1+n′n的重要環(huán)節(jié)。本文中所探討的“建?!卑瑑蓚€(gè)步驟(2。

2OpenCVPythonOpenCV庫輕松實(shí)現(xiàn)對圖像的仿射變換操作。便于學(xué)生驗(yàn)3所示。344要訪問輸入圖像的內(nèi)容,OpenCV通過數(shù)值矩陣存儲(chǔ)圖像中每個(gè)像素的信息。以灰度圖“0”imageimage=cv2.imread(filename,表1imreadflags1flags01imread方法參數(shù)說明image代表讀取到的圖像。圖5JupyterNotebook中使用“imread”方法讀取“l(fā)otus.jpg”圖像,然后用“print”方法打印出圖像的全過程。程序運(yùn)行結(jié)果表明,OpenCV以矩陣的形式存儲(chǔ)和表達(dá)圖像。5OpenCV?表示。仿射變換本質(zhì)上就是坐標(biāo)變換,如何建立模型來描述變換前后圖像坐標(biāo)間è?由于仿射變換具有保持點(diǎn)的共線性及直線的平行性[6]?yR2fR?y

èf

(2) è

í 1

=a21x+a22y

表達(dá)計(jì)算過程,完成算法設(shè)計(jì)。進(jìn)一步分析可知,當(dāng)(2)式中的a13和a230f(v1+v2)1f(v1)+f(v2)(2)所確定的變換f是非線性的?y?yè?R3中的列向量?y來表示,則式(2)??è

êúê 23úê1?? 11將式(3) év¢ùéA ê ?? ??

式(4)中

úb=êaúv=?yè ? 22 ?23 è

?y(4)?y¢÷è è進(jìn)一步觀察式(4)

v¢=?到è

è?以由一個(gè)線性變換(乘以一個(gè)矩陣)和一個(gè)平移(加上一個(gè)向量)復(fù)合而成將(5)A和向量b

M

a? 23式(6)為描述仿射變換的重要參數(shù),從計(jì)算模型式(4)中提煉出仿射變換矩陣M,是OpenCV庫編程實(shí)現(xiàn)圖像仿射變換的重要環(huán)節(jié)。6

a

ú,其中 ?23a23a23

令平移的仿射變換矩陣M ú,若要將圖像水平向右移動(dòng)50像素,

a23 50垂直向下移動(dòng)100像素,則相應(yīng)的仿射變換矩陣為M ú 100?dst=cv2.warpAffine(src,M,dsize,flags,borderMode,表2warpAffine輸出圖像的大小,格式為(寬,高插值方式(可選邊界類型(可選邊界值(可選02warpAffinedst7獲得“l(fā)otus.jpg平移變換 平移變換8JupyterNotebook源文件下載鏈接:9,(yky10。91011JupyterNotebook中使用“warpAffine”方法實(shí)現(xiàn)圖像均勻縮放(寬2倍)變換的詳細(xì)過程。Inp]:1importmatplotlib.pyplotasz1mportnunpyasz1mport4matpIot11bIn[a:1srcImage=ih,v,c=In[]:1A:np.eye(2)*zN=np.concatenate([A,bj,4dstImage=cv2.arpAffine(srcIwage,H,(v,h)

executedin31ms,finished11:05562022-08-executedin14ms,finished11:05562022-08-In[8] 1p.igu‘re(‘Iigsize=(2e,la)pit.subp1ot(1,2,1)

pit.imshow(cv2.cvtColor(srcImagc2.COL0Rspit.subp1ot(1,2,p}t.t1t1e("Scaleblter"Out[8]:?matpIot11b.Image.AxesInageat0x22a9S

11JupyterNotebook源文件下載鏈接:按(-x0,-y0按(-x0,-y0θθ按(x0按(x0,y012以點(diǎn)(x0,y0)θ通過對旋轉(zhuǎn)變換的模型分析,以點(diǎn)(x0,y0θ

-

x0(1-cosq)+y0M

y(1-cosq)-

sinqú M=cv2.getRotationMatrix2D(center,angle,OpenCVM=cv2.getRotationMatrix2D(center,angle,表3getRotationMatrix2D旋轉(zhuǎn)的角度(注意:不是弧度13getRotationMatrix2D方法參數(shù)說明M為依據(jù)輸入信息計(jì)算出的仿射變換矩

13OpenCVIn[6] 1jsporti?atp1ot11b.pyplotaszimportnuupyaszimport4heatpTotlibIn[]:isrcInage:2h,v,c: @1¥2,kJ[@Bt/ETJ¥Iq1?? /tf1. 1@Agff,@@warpAIfineI}?7 In[8]:iMl:cv2.getRotationMatrix2D((0,h),30, @]-|-2,LJ|g|@0.?141,?, In[9]:iM2=cv2.getRotationMatrix2D((h//Z,v//2),-30,

executedinSms,finished16:05:222022-08-executedin 16:05:222022-08-In[10] zplt.subp1ot(1,2,plt.imshow(cvZ.cvtColor(dstImagel,cvZ.COLORplt.title(”Rotationby

以圖像左下角為中心點(diǎn)逆時(shí)針旋轉(zhuǎn) 以圖像中心為中心點(diǎn)順時(shí)針旋轉(zhuǎn)14JupyterNotebook源文件下載鏈接:(2022)[Z].信息科技課程標(biāo)準(zhǔn)(2022[J].教師教育學(xué)報(bào),2022,9(04):63-9.[J].2022,30-陳棟.基于課程標(biāo)準(zhǔn)的計(jì)算思維教學(xué)實(shí)踐路徑[J].中國信息技術(shù)教育,2020,(Z4

溫馨提示

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

評論

0/150

提交評論