中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站開(kāi)發(fā)與維護(hù)的崗位特點(diǎn)職責(zé)seo網(wǎng)站內(nèi)部?jī)?yōu)化方案

網(wǎng)站開(kāi)發(fā)與維護(hù)的崗位特點(diǎn)職責(zé),seo網(wǎng)站內(nèi)部?jī)?yōu)化方案,小制作小發(fā)明廢物利用,做網(wǎng)站文案策劃步驟版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)?jiān)陲@著位置標(biāo)明本文出處以及作者網(wǎng)名,未經(jīng)作者允許不得用于商業(yè)目的。 本文的C#版本請(qǐng)?jiān)L問(wèn):圖像分割-漫水填充法 floodFill (C#)-CSDN博客 FloodFill方法是一種圖像處理算法&#…

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)?jiān)陲@著位置標(biāo)明本文出處以及作者網(wǎng)名,未經(jīng)作者允許不得用于商業(yè)目的。

本文的C#版本請(qǐng)?jiān)L問(wèn):
圖像分割-漫水填充法 floodFill (C#)-CSDN博客

FloodFill方法是一種圖像處理算法,它的目的是將一個(gè)閉合的區(qū)域內(nèi)的像素全部涂上同一個(gè)顏色。在實(shí)現(xiàn)中,通常會(huì)使用遞歸或隊(duì)列來(lái)處理待處理列表。具體的實(shí)現(xiàn)方式會(huì)根據(jù)具體應(yīng)用場(chǎng)景的需求而有所不同。

CvInvoke.FloodFill方法用于執(zhí)行圖像的漫水填充操作,它將連通區(qū)域中的所有像素點(diǎn)填充為指定顏色的操作。該方法聲明如下:

Public Shared Function FloodFill (

???????? src As IInputOutputArray,

???????? mask As IInputOutputArray,

???????? seedPoint As Point,

???????? newVal As MCvScalar,

???????? <OutAttribute> ByRef rect As Rectangle,

???????? loDiff As MCvScalar,

???????? upDiff As MCvScalar,

???????? Optional connectivity As Connectivity = Connectivity.FourConnected,

???????? Optional flags As FloodFillType = FloodFillType.Default

) As Integer

參數(shù)說(shuō)明:

  1. src:輸入輸出的圖像,必須是單通道灰度圖像或三通道彩色圖像。
  2. mask:掩碼圖像,必須是單通道8位圖像,并且高寬各比源圖像大2。如果指定了掩碼,則只有掩碼中像素值為255的區(qū)域才會(huì)被填充或者標(biāo)記。如果不指定掩碼,則默認(rèn)填充或者標(biāo)記整個(gè)圖像。
  3. seedPoint:表示種子點(diǎn)的坐標(biāo),即從哪個(gè)像素點(diǎn)開(kāi)始填充或者標(biāo)記連通區(qū)域。
  4. newVal:填充的新顏色,可以是一個(gè)標(biāo)量值(單通道圖像)或一個(gè)包含三個(gè)通道值的MCvScalar結(jié)構(gòu)體(三通道圖像)。
  5. rect:輸出參數(shù),表示被填充區(qū)域的邊界矩形。
  6. loDiff:低閾值向量。如果相鄰像素點(diǎn)的值與種子點(diǎn)的差值小于低閾值向量,則將其歸為同一連通區(qū)域。
  7. upDiff:高閾值向量。如果相鄰像素點(diǎn)的值與種子點(diǎn)的差值大于高閾值向量,則將其歸為不同的連通區(qū)域。
  8. connectivity:連接性,指定像素的相鄰關(guān)系。默認(rèn)為八連通。
  9. flags:漫水填充算法的標(biāo)志位。默認(rèn)為FixedRange,表示使用固定的閾值范圍進(jìn)行填充。

返回值:

返回一個(gè)整數(shù)值,表示填充的像素個(gè)數(shù)。

 '漫水填充法 floodFillPrivate Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickDim m As New Mat("C:\learnEmgucv\tower.jpg", ImreadModes.Color)'種子點(diǎn)的坐標(biāo)Dim seedPoint As New Point(100, 100)'填充顏色Dim newVal As New MCvScalar(0, 255, 255)'掩碼圖像Dim mmask As New Matmmask = Mat.Zeros(m.Rows + 2, m.Cols + 2, DepthType.Cv8U, 1)Dim rect As New Rectangle' 執(zhí)行漫水填充Dim numFilledPixels As Integer = CvInvoke.FloodFill(m, mmask, seedPoint, newVal, rect,New MCvScalar(10, 10, 10),New MCvScalar(20, 20, 20))'輸出填充的像素個(gè)數(shù)Console.WriteLine("Number of filled pixels: " & numFilledPixels)'顯示填充后的圖像ImageBox1.Image = m
End Sub

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

圖8-1漫水填充法實(shí)現(xiàn)圖像分割

  '漫水填充法 floodFill'選取不同的起始點(diǎn)坐標(biāo)進(jìn)行填充Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.ClickDim msrc As New Mat("c:\learnEmgucv\tower.jpg", ImreadModes.AnyColor)ImageBox1.Image = msrcDim mask As New Mat(msrc.Rows + 2, msrc.Cols + 2, DepthType.Cv8U, 1)Dim area As Integer'從坐標(biāo)(250, 250)進(jìn)行填充Dim mdst1 As Mat = msrc.Clonearea = CvInvoke.FloodFill(mdst1, mask,New Point(250, 250),New MCvScalar(0, 0, 255),New Rectangle(),New MCvScalar(40, 40, 40),New MCvScalar(40, 40, 40),Connectivity.FourConnected,FloodFillType.FixedRange)CvInvoke.Imshow("mdst1", mdst1)'從坐標(biāo)(400, 400)進(jìn)行填充Dim mdst2 As Mat = msrc.Clonearea = CvInvoke.FloodFill(mdst2, mask,New Point(400, 400),New MCvScalar(0, 255, 0),New Rectangle(),New MCvScalar(60, 60, 60),New MCvScalar(80, 80, 80),Connectivity.FourConnected,FloodFillType.FixedRange)CvInvoke.Imshow("mdst2", mdst2)
End Sub

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

圖8-2 不同坐標(biāo)點(diǎn)填充效果

  'FloodFill隨機(jī)坐標(biāo)點(diǎn)使用隨機(jī)顏色填充Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.ClickDim msrc As New Mat("c:\learnEmgucv\tower.jpg", ImreadModes.AnyColor)ImageBox1.Image = msrcDim mask As New Mat(msrc.Rows + 2, msrc.Cols + 2, DepthType.Cv8U, 1)Dim lodiff As New MCvScalar(20, 20, 20)Dim hidiff As New MCvScalar(20, 20, 20)Dim r As New RandomFor i As Integer = 0 To 99Dim x As Integer = r.Next(msrc.Cols)Dim y As Integer = r.Next(msrc.Rows)Dim p As New Point(x, y)Dim newsc As New MCvScalar(r.Next(256), r.Next(256), r.Next(256))Dim area As Integerarea = CvInvoke.FloodFill(msrc, mask,p,newsc,New Rectangle(),lodiff,hidiff,Connectivity.FourConnected,FloodFillType.FixedRange)NextCvInvoke.Imshow("mout", msrc)
End Sub

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

圖8-3 隨機(jī)坐標(biāo)點(diǎn)使用隨機(jī)顏色填充

由于.net平臺(tái)下C#和vb.NET很相似,本文也可以為C#愛(ài)好者提供參考。

學(xué)習(xí)更多vb.net知識(shí),請(qǐng)參看vb.net 教程 目錄

http://m.risenshineclean.com/news/61097.html

相關(guān)文章:

  • 汕頭網(wǎng)站設(shè)計(jì)電話中國(guó)十大熱門網(wǎng)站排名
  • 騰訊云cdn加速wordpress澤成seo網(wǎng)站排名
  • 做網(wǎng)站用什么軟件免費(fèi)安徽搜索引擎優(yōu)化seo
  • 機(jī)構(gòu)單位網(wǎng)站建設(shè)方案寧波網(wǎng)站推廣公司價(jià)格
  • php網(wǎng)站開(kāi)發(fā)教程網(wǎng)手機(jī)優(yōu)化大師下載
  • 廣州網(wǎng)站開(kāi)發(fā)報(bào)價(jià)seo搜索引擎優(yōu)化是通過(guò)優(yōu)化答案
  • 網(wǎng)絡(luò)營(yíng)銷的四大要素浙江seo博客
  • 網(wǎng)站搭建招標(biāo)方案域名被墻檢測(cè)
  • 自己怎么做可以讓百度收錄的網(wǎng)站網(wǎng)站的推廣方法
  • 企業(yè)網(wǎng)站seo優(yōu)化怎么做索引擎優(yōu)化 seo
  • 電影網(wǎng)站建設(shè) 流程seo按照搜索引擎的什么對(duì)網(wǎng)站
  • 建材公司網(wǎng)站建設(shè)方案省委副書(shū)記
  • 民權(quán)網(wǎng)站建設(shè)網(wǎng)站推廣的方式有哪些?
  • 網(wǎng)站建設(shè)現(xiàn)在主要做些什么成品影視app開(kāi)發(fā)
  • 境外網(wǎng)站搭建谷歌seo技巧
  • 在網(wǎng)站制作前需要有哪些前期策劃工作長(zhǎng)沙互聯(lián)網(wǎng)網(wǎng)站建設(shè)
  • iis的網(wǎng)站默認(rèn)端口如何讓百度收錄
  • 網(wǎng)站建設(shè)要做哪些工作室如何發(fā)布自己的html網(wǎng)站
  • 網(wǎng)站開(kāi)發(fā)有哪些工作崗位搜索引擎優(yōu)化哪些方面
  • 邯鄲網(wǎng)站建設(shè)兼職網(wǎng)址模板建站
  • 交易平臺(tái)網(wǎng)站建設(shè)策劃書(shū)深圳seo網(wǎng)絡(luò)推廣
  • 做外貿(mào)的網(wǎng)站主要有哪些搜索指數(shù)查詢平臺(tái)
  • wordpress建雙語(yǔ)網(wǎng)站手機(jī)百度賬號(hào)申請(qǐng)注冊(cè)
  • 建設(shè)公積金網(wǎng)站百度輸入法免費(fèi)下載
  • 東莞建設(shè)銀行官方網(wǎng)站重慶網(wǎng)站seo診斷
  • 做的網(wǎng)站 顯示亂碼google關(guān)鍵詞seo
  • 怎么建立和設(shè)計(jì)網(wǎng)站推推蛙seo顧問(wèn)
  • 中小企業(yè)網(wǎng)站制作方法網(wǎng)絡(luò)推廣的主要工作內(nèi)容
  • 自己做網(wǎng)站的流程視頻教程百度知道免費(fèi)提問(wèn)
  • 簡(jiǎn)述網(wǎng)站建設(shè)基本流程答案百度主頁(yè)網(wǎng)址