freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程畢業(yè)設(shè)計(jì)-基于imagej的圖像形狀與紋理處理(編輯修改稿)

2025-01-08 16:54 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 本文做了簡(jiǎn)單的總結(jié),并對(duì)后續(xù)工作做了展望。 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論文) 4 第二章 ImageJ 簡(jiǎn)介和開(kāi)發(fā) ImageJ 的背景及發(fā)展 ImageJ 是一個(gè)由 NIH(美國(guó)衛(wèi)生研究所)開(kāi)發(fā)的為 Macintosh 提供圖像處理的開(kāi)源 Java 項(xiàng)目。它既可以以網(wǎng)頁(yè) Applet 的形式運(yùn)行也可以作為應(yīng)用軟件工具下載使用。適合多種平臺(tái),包括 Windows, Mac OS, Mac OS X 以及 Linux。 ImageJ可以顯示,編輯,分析,處理,保存和打印 8 位, 16 位和 32 位圖像。它可以 打開(kāi) 許多圖像格式,包括 TIFF 文件 , GIF , JPEG 格式, BMP 和 DICOM 以及 raw圖像格式 。它支持 “ 棧 ” ,一系列的 圖像 ,共享一個(gè)單獨(dú)的窗口。它是多 線程,因此 耗時(shí)的操作 如圖像文件的 打開(kāi) 可以 并行處理 。它可以計(jì)算面積和像素值統(tǒng)計(jì)用戶定義的選項(xiàng)。它可以測(cè)量距離和角度。它可以創(chuàng)造密度直方圖和 譜線 輪廓 圖 。它支持標(biāo)準(zhǔn)的圖像處理功能,如 比較 ,銳化,平滑,邊緣檢測(cè)和中值濾波。 其它還有 幾何變換,如縮放,旋轉(zhuǎn)和跳躍 等 。 圖像 可縮放高達(dá) 32:1 ,下至 1:32 。該計(jì)劃將支持任意數(shù)量的 窗口 , 但受到內(nèi)存的限制 。 具有 空間校準(zhǔn) 功能 ,以提供真實(shí)世界的三維測(cè)量單位,例如毫米。密度或灰度校正也已經(jīng)推出。 ImageJ 設(shè)計(jì)了一個(gè)開(kāi)放式體系結(jié)構(gòu), 通過(guò) Java 插件 提供可擴(kuò)展性。定制采集,分析和處 理插件可利用 ImageJ 的內(nèi)置編輯器和 Java 編譯器 進(jìn)行開(kāi)發(fā) 。用戶 編寫(xiě)的 插件使人們有可能解決幾乎任何圖像處理或分析的問(wèn)題。 ImageJ 是在 Mac OS X 操作系統(tǒng)中用其內(nèi)置的編輯器和 Java 編譯器開(kāi)發(fā)的,額外用到了 BBEdit 和 Ant 構(gòu)建工具。程序源碼是公開(kāi)的,作者 Wayne Rasband ()是 NIH 研究服務(wù)部門(mén)的員工。 ImageJ 在國(guó)外是一個(gè)流行的圖像處理工具,作者開(kāi)放了一個(gè)社區(qū)可供所有使用者交流心得。同時(shí)各大高校(包括 MIT, UC 等)都有專(zhuān)門(mén)的部門(mén)為 ImageJ 提供插件。 ImageJ 的正式版本還在不斷更新中。隨著圖像處理技術(shù)的不斷深化和進(jìn)步,圖形處理計(jì)算機(jī)的不斷開(kāi)發(fā),操作系統(tǒng)的不斷升級(jí), ImageJ 在 Windows 和Linux 操作系統(tǒng)上的應(yīng)用也更加廣泛。 ImageJ 社區(qū)在不斷的擴(kuò)大, ImageJ 的插件技術(shù)也相應(yīng)的流行。這里圖 21 是 ImageJ 的用戶界面。 圖 21 ImageJ 的用戶界面 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論文) 5 ImageJ 的程序結(jié)構(gòu) ImageJ 是用 Java 語(yǔ)言開(kāi)發(fā)的圖像處理工具,代碼支持任意的 Java 版本。首先看 ImageJ 的包結(jié)構(gòu) ,如圖 22 所示。 圖 22 ImageJ 包結(jié)構(gòu) ImageJ 總共包含 11 個(gè)包,每個(gè)包相應(yīng)完成不同的功能,提供相應(yīng)的類(lèi)庫(kù)。下面就對(duì) ImageJ 各個(gè)包的類(lèi)庫(kù)做一個(gè)簡(jiǎn)單介紹: ij 包:作為軟件的宏觀管理結(jié)構(gòu),包含了 IJ, WindowManager, ImagePlus,ImageStack 和 ImageJ 等主要的類(lèi),為圖像窗口的管理,圖像格式的定義以及整個(gè)軟件搭好架構(gòu)。其中, ImageJApplet 是 ImageJ 的 Applet 類(lèi),提供了在瀏覽器中以Applet 的形式使用 ImageJ 的功能; ImageJ 是 ImageJ 應(yīng)用程序的主類(lèi),包含了程序入口點(diǎn) main 方法以及程序窗口; Executer 類(lèi)可以單獨(dú)創(chuàng)建一個(gè)線程來(lái)執(zhí)行菜單中選中的命令; IJ 類(lèi)中包含了許多實(shí)用的方法; ImagePlus 表示了圖像在 ImageJ中的表示形式,它是基于 ImageProcessor 的(后面將介紹); ImageStack 是一個(gè)可擴(kuò)展的圖像棧,用來(lái)存儲(chǔ)圖像; WindowManager 類(lèi)用來(lái)管理當(dāng)前已經(jīng)打開(kāi)的窗口。 包:作為軟件的圖形用戶界面,包含了 GUI, ROI, Toolbar, StackWindow和 PlotWindow 等類(lèi),主要定義了圖像的選取格式和一些用戶界面的裝飾等。其中,ProgressBar 類(lèi)是位于主窗口內(nèi)的一個(gè)進(jìn)度條,用來(lái)顯示當(dāng)前操作所完成的進(jìn)度百I(mǎi)mageJ ij 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論文) 6 分比; GenericDialog 類(lèi)是程序獲得用戶輸入的對(duì)話框原型,可以用于插件開(kāi)發(fā)中獲得用戶輸入; HTMLDialog 類(lèi)是顯示 HTML 文本的對(duì)話框 ; MessageDialog 類(lèi)是顯示提示信息對(duì)話框; YesNoCancelDialog 類(lèi)是定義了有 ―yes‖, ―no‖和 ―cancel‖按鈕的對(duì)話框; SaveChangesDialog 類(lèi)是定義了有 ―Don‘t save‖, ―save‖和 ―cancel‖按鈕的對(duì)話框; NewImage 類(lèi)可以為抓取的圖片部分創(chuàng)建一個(gè)新窗口; ROI 類(lèi)支持用戶感興趣的區(qū)域選擇,用戶在插件中可以只對(duì)感興趣的區(qū)域操作; 包:提供讀寫(xiě)和存儲(chǔ)圖像的功能,包含了 FileInfo, FileSaver, FileOpener, ImageReader 和 ImageWriter 等類(lèi),可以讀各種圖像格式并以不同形式保存,還可以編碼解碼用戶感興趣的區(qū)域。 包:對(duì) ImageJ 的宏函數(shù)的定義,包含了 Functions, Interpreter, MacroRunner, Program, Symbol 和 Variable 等類(lèi),架構(gòu)了 ImageJ 的宏結(jié)構(gòu)。 包:對(duì)圖像分析的方法和對(duì)象的封裝,包括 Measurements, ResultTable 等類(lèi)。 包:封裝了用戶開(kāi)發(fā)插件時(shí)經(jīng)常用到的方法,包括直方圖、剪貼板、圖像頭的獲取、彩色模型、編譯器、傅立葉變換等一系列方法。包含了 Clipboard, Colors, Histogram, Compiler 等類(lèi)。其中的 Plugin 是每個(gè)插件編寫(xiě)必須要實(shí)現(xiàn)的接口; Coverter 類(lèi)繼承了 ImagePlus 類(lèi),可以將一種類(lèi)型的圖像轉(zhuǎn)化為其他類(lèi)型。 包:對(duì)常用的圖像處理算法的封裝,包括二值化、高斯濾波、平滑、銳化、投影等常見(jiàn)算法的實(shí)現(xiàn)。包括 Binary, Filters, Rotator, Projector 等類(lèi)。 包:為用戶開(kāi)發(fā)插件提供統(tǒng)一的窗口框架接口,包含了 Editor, Fonts, PlugInFrame, ThresholdAdjuster 等類(lèi)。 包:通過(guò) ImageProcessor 抽象類(lèi)定義了獲取圖像像素信息及簡(jiǎn)單的處理和存儲(chǔ)這些像素的方法。包含 ImageProcessor, FloodFiller, LUT 等類(lèi)。其中各種 數(shù) 據(jù) 類(lèi) 型 的 處 理 器 ( BinaryProcessor , ShortProcessor 等 ) 都 繼 承 于ImageProcessor。 ImageCoverter 類(lèi)實(shí)現(xiàn)了圖像間的類(lèi)型轉(zhuǎn)換; ImageProcessor 作為所有圖像處理類(lèi)型的超類(lèi)完成了圖像的底層處理工作; StackCoverter 實(shí)現(xiàn)了棧內(nèi)圖像的類(lèi)型轉(zhuǎn)換; StackProcessor 是處理圖像棧的類(lèi)。 和 包:作為輔助包,簡(jiǎn)單規(guī)定了文本格式和排序方法。 下面圖 23 是 ImageJ 的核心處理包的設(shè)計(jì)類(lèi)圖。 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論文) 7 圖 23 ImageJ 的核心處理包的設(shè)計(jì)類(lèi)圖 ImageJ 插件開(kāi)發(fā) ImageJ 完成了圖像處理的基本功能,而更高階的處理則由其提供插件接口以便用戶開(kāi)發(fā)使用。 ImageJ 在圖像分析方面缺乏現(xiàn)有的可行的插件。本文就是基于其在形狀和紋理特征分析功能方面的缺陷而開(kāi)發(fā)了特征提取的插件。這里先介紹ImageJ 插件開(kāi)發(fā)的方法。 ImageJ 為用戶提供了一個(gè)插件集成開(kāi)發(fā)環(huán)境,在這個(gè)環(huán)境里用戶不僅可以編輯和查看代碼,還可以編譯和運(yùn)行代碼。執(zhí)行 ―Plugin/New...‖命令將會(huì)彈出對(duì)話框,讓用戶選擇開(kāi)發(fā)什么類(lèi)型的插件( PluginFilter 或者 PluginFrame )。執(zhí)行―Plugin/Edit...‖命令將允許用戶編輯已有的 java 文件。 目前已有的插件類(lèi)型分兩種:接受圖像參數(shù)的插件 PluginFilter 和不接受參數(shù)的 PluginFrame。 PluginFrame 將會(huì)生成自己的窗口用來(lái)顯示相關(guān)信息。 開(kāi)發(fā) PluginFilter 插件( PluginFrame 插 件 方 法 類(lèi) 似 ), 要 實(shí) 現(xiàn) 接口,其中提供了兩個(gè)方法: void run (ImageProcessor ip)和 int setup(String arg, ImagePlus imp)。在第一個(gè)方法中用戶可以書(shū)寫(xiě)該插件想要實(shí)現(xiàn)的功能,在第二個(gè)方法中,用戶要返回一個(gè)整形的關(guān)鍵字,說(shuō)明插件可以處理的圖像類(lèi)型。 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論文) 8 舉例說(shuō)明,這是一個(gè)圖像反色的插件實(shí)例,在文件開(kāi)始,要寫(xiě)清本程序需要的類(lèi)庫(kù)即引入包名: import ij.*。 import 。 import .*。 import .*。 接著在類(lèi)名中實(shí)現(xiàn) PlugInFilter 接口: public class Inverter_ implements PlugInFilter { 然后在類(lèi)中實(shí)現(xiàn) setup()方法: public int setup(String arg, ImagePlus imp) { if ((―about‖)) { showAbout()。 return DONE。 } return DOES_8G+DOES_STACKS+SUPPORTS_MASKING。 } 其中 DOES_8G, DOES_STACKS, SUPPORTS_MASKING 均為程序定義的關(guān)鍵字,表示本插件只能處理 8 位棧內(nèi)圖像,支持掩模操作。 接著 是 run()方法 的實(shí)現(xiàn): public void run(ImageProcessor ip) { byte[] pixels = (byte[])()。 int width = ()。 Rectangle r = ()。 int offset, I。 for (int y=。 y(+)。 y++) { offset = y*width。 for (int x=。 x(+)。 x++) { I = offset + x。 pixels[i] = (byte)(255pixels[i])。 } } } 該方法首先獲取了圖像的像素值并用 byte數(shù)組存儲(chǔ),接著獲取圖像的寬和高,然后遍歷整個(gè)數(shù)組,將每一個(gè)像素都與 255 做差,即實(shí)現(xiàn)了圖像的反色。 最后的 showAbout()方法靜態(tài)調(diào)用了 ()方法,顯示相關(guān)插件的天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論文) 9 信息: void showAbout() { (―About Inverter_...‖, ―This sample plugin filter inverts 8bit images. Look\n‖ + ―at the ?‘ source file to see how easy it is\n‖ +‖in ImageJ to process nonrectangular ROIs, to process\n‖ +‖all the slices in a stack, and to display an About box.‖)。 } } 以上的代碼綜合起來(lái)就是一個(gè)完整的 ImageJ 插件,將其在 ImageJ 中編譯運(yùn)行即可看到效果。而編譯好的 .class 文件或者可以制作成 jar 包,直接發(fā)布成一個(gè)功能插件,使用在其他安裝有 ImageJ 的機(jī)器中。 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論文) 10 第三章 基于實(shí)體的圖像特征提取及描述 特征提取的基本原理 圖像特征是指圖像的原始特性或?qū)傩?,是由于景物的物理與幾何特性使圖像局部區(qū)域的灰度產(chǎn)生明顯變化而 形成的,在圖像中存在著一些特殊的信息,這些信息使該圖像有別于其它圖像,這些特殊信息就是圖像的特征。其中有些是視覺(jué)直接感受到的自然特征,如區(qū)域的亮度、邊緣的輪廓、紋理或色彩等;有些是需要通過(guò)變換或測(cè)量才能得到的人為特征,如變換頻譜、直方圖、矩等。圖像特征的提取,即從圖像中提取有用的信息和視覺(jué)特征。特征提取所要滿足的約束條件 [12]有: :為了有效的分類(lèi),希望同類(lèi)樣本之間的距離越小越好,而不同類(lèi)樣本之間的距離越大越好。 :提取出的特征應(yīng)滿足對(duì)特征的一般要求和特殊要求,并使分類(lèi)錯(cuò) 誤率達(dá)到給定的指標(biāo)。 :通常的模式畸變主要有:噪聲、平移、放縮、旋轉(zhuǎn)和仿射等變化。圖像特征提取涉及的面很廣。從一幅圖像中提取出什么樣的特征,需要根據(jù)用戶所關(guān)心的問(wèn)題來(lái)決定。 特征提取的基本方法 本文主要從紋理和形狀兩方面研究圖像的特征提取技術(shù)。 基于實(shí)物的紋理特征提取 談到紋理,人們很自然的想到水面的波紋,家俱的木紋,石板上的花紋。它們總體都反應(yīng)了物體表面顏色和灰度的某種變化,而這些變化又與物體本身的屬性相關(guān)。紋理在圖像處
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1