原创 實現順序隊列

隊列(queue)在計算機科學中,是一種先進先出的線性表。它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。 隊列可以採用順序存儲方式來實現(稱爲順序隊列),或者採用鏈式存儲方式來實現(稱爲鏈式隊

原创 QT中進度對話框(QProgressDialog)

考慮程序的友好性,當程序在執行一項耗時操作時,界面應告訴用戶“程序還在運行中”,那麼,QT中進度對話框(QProgressDialog)可以滿足要求。 (1) 如果所耗總時間已知,則不需要藉助定時器。 QProgressD

原创 QT多線程—主界面卡死解決方案

由於耗時的操作會獨佔系統cpu資源 ,讓界面卡死在那裏,這時需要考慮多線程方案,將耗時的操作放在主線程之外的線程中執行。 但是必須注意:主界面更新只能在主線程中,耗時操作可以放在新建的線程中。 (1) 嘗試方案一 (沒效果)

原创 實現鏈式隊列

隊列(queue)在計算機科學中,是一種先進先出的線性表。它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。 隊列可以採用順序存儲方式來實現(稱爲順序隊列),或者採用鏈式存儲方式來實現(稱爲鏈式隊

原创 QVTKWidget控件顯示三維圖片

QVTKWidget控件一般顯示二維圖片,如果要顯示三維圖片,並通過鼠標滾輪切換單張圖片,則需要加入監聽機制,可以自定義一個類來實現所需要的交互方式,該類可以繼承於vtkCommand類。 (1)定義鼠標滾輪交互方式,用於顯示下一

原创 QT訪問Mysql數據庫

QT4默認不支持Mysql數據庫訪問,需要手動編譯動態鏈接庫qsqlmysqld.dll和qsqlmysql.dll。QT5默認支持Mysql數據庫訪問,默認已經生成了上述2個DLL文件。 QT訪問Mysql數據庫,需要保持兩者類

原创 VTK實現紋理貼圖

(1)VTK主要用於三維計算機圖形學、圖像處理和可視化。Vtk是在面向對象原理的基礎上設計和實現的,它的內核是用C++構建。VTK是基於OpenGL實現的,是一個比較上層的圖形庫; (2)OpenGL是跨平臺的圖形程序接口,它用

原创 實現順序棧

棧作爲一種數據結構,它按照後進先出的原則存儲數據,只能在棧頂進行插入和刪除操作的特殊線性表。 按照存儲方式不同,棧可以分爲順序棧和鏈式棧。 實現順序棧需要注意: (1)採用順序存儲方式; (2)需要預分配空間,data[max

原创 安裝PHP網站

學習PHP網站設計,從網絡上下載開源的PHP網站demo作爲學習資料,能夠宏觀瞭解整個網站的設計,加快學習的進度。下載到網站源碼後,如何安裝php網站,使其順利運行起來,對於一個初學者是一個很大的問題。本文將個人學習過程整理如下:

原创 Prim — 最小生成樹

Prim算法,普里姆算法,在無向圖中搜索最小生成樹。 算法實現的主要步驟: (1) 初始化 所有點都初始化爲沒有被訪問,初始化根結點到各結點的距離,存放在lowcost[]數組中; (2)尋找最小值 從根結點開始,其依據:一

原创 軟件框架設計

目前正在做一個數字圖像處理軟件,用QT做UI, 基於OpenCV, ITK, VTK常用的庫現實圖像的操作,顯示等功能。 OpenCV提供了很多接口可以對2D圖像處理,ITK, VTK則更多傾向於3D醫學圖像的處理和顯示。 該軟

原创 直方圖

基於OpenCV庫繪製灰度圖,彩色圖的直方圖。 灰度圖爲單通道圖,每個像素只有一個採樣顏色。cvConvertImage()函數可以將其他圖轉換爲單通道圖像。繪製灰度圖直方圖代碼如下: void grayImgHist(IplI

原创 PHP & HTML學習

出於對網站搭建的興趣,最近一直在學習PHP & HTML知識,現已成功搭建出實驗室網站和3個會議網站。本文將學習過程中知識點整理如下: CSS css是英文Cascading Style Sheets的縮寫。層疊樣式表。 JS

原创 openCV讀入圖片,openGL實現紋理貼圖

本文結合結合openCV,openGL的優點,實現混合編程。 (1)OpenCV提供圖形處理和計算機視覺方面的通用算法,讀入二維圖片很方便; (2)OpenGL是跨平臺的圖形程序接口,它用於二維,三維圖像的處理,調用方便的底層

原创 對比OpenCV, QT, ITK庫對圖像像素級的操作

本文以常見的二維BMP圖像爲例,對比OpenCV, QT, ITK庫對圖像像素級的操作。 (1)OpenCV由IplImage對圖像像素級的操作, 要考慮RGB分量; IplImage* img = cvLoadImage("D: