原创 關於兩種在圓內生成隨機點方法的區別

首先下圖是一個蒙特卡羅方法求圓周率的一個經典案例:   即主要思想爲我們在該矩形中隨機生成若干個點,最後有一些落在這個矩形的內接圓內,有的則在陰影部分。即此時 圓內的點數量/生成點的總數=圓的面積/矩形面積=(π*r*r)/(4*r*

原创 關於像素間的一些基本關係(鄰接、連通等)

注:以下內容參考資料主要來自於《數字圖像處理》第2.5節,對其中內容進行擴充說明以及對部分問題進行修改。   首先,我們用f(x,y)的方式來表示一幅圖像,即該圖像中座標(x,y)處的灰度值(如果爲RGB圖像則有三個值)爲f(x,y)。

原创 Python的MRO

Python的MRO即Method Resolution Order(方法解析順序),也就是在Python中的類的繼承順序是怎樣的。在Python2.3之前,MRO的實現是基於DFS的,而在Python2.3以後MRO的實現是基於C3算法

原创 TabWidget中tabBar文字從左向右顯示

在Qt中,當我們使用tabWidget,有時會把tabPosition屬性設置成東西朝向的。但這時,我們會發現tabBar中的文字朝向也變了,如下圖所示: 而我們總是希望文字是正對着我們的,而不是翻轉過後的樣子。   這裏,我們可以通過

原创 Python中的可變數據類型和不可變數據類型

Python的基本數據類型大致可分爲6類:1.Number(數字) 2. String(字符串) 3. Tuple (元組) 4. List(列表) 5. Dictionary (字典) 6. Sets(集合) (bool布爾類型、int

原创 編譯型語言和解釋型語言的區別和優劣

  編譯型的語言: 專門的編譯器, 針對特定的平臺(操作系統)“翻譯”成機器碼(包括機器指令和操作數),幷包裝成該平臺可執行程序的格式;如需要其他的代碼,要進行鏈接。                        優點: 可脫離開

原创 PyQt在PyCharm上的安裝與配置

在使用python製作界面程序的時候,由於自身帶的Tkinter功能有限,所以往往使用PyQt來開發。而相比於Qt的安裝配置,PyQt的安裝配置確實要麻煩得多。。。     首先我們要安裝Pycharm(Pycharm是寫Python程

原创 Mat類

Mat類是OpenCV裏廣泛使用的一個類,主要用來作爲存儲圖像的數據結構。 首先我們需要知道,OpenCV最早出現時其庫是圍繞C語言接口構建的。然後從OpenCV 2.0 開始引入c + + 接口。由於C++對C語言的兼容性,故而後面的版

原创 Qt連接數據庫(sql server和MySql)

這裏介紹Qt連接數據庫的操作,以sql server和MySql兩種數據庫爲例。 首先添加頭文件#include<QSqlDatabase>和include<QSqlQuery>,如果需要獲取數據庫的出錯信息,則添加頭文件#include

原创 Qt自適應窗口的佈局

在Qt中,窗口裏面用來佈局的控件主要分爲兩種: 第一種(layouts)   第二種(widget)   其中,layouts是專門用來佈局的控件,而widget控件主要功能並非佈局,只是帶有佈局的功能而已(widget可以看作是一個

原创 C++智能指針

在C++中,由於頻繁的指針操作,程序員常常需要自己申請和釋放內存。而對於內存的管理比較複雜,常常因爲忘記釋放內存而造成內存泄漏以及二次釋放等等情況出現程序錯誤。故而C++11中引入智能指針的概念,方便其對堆內存的管理。 C++98中,曾有

原创 指針詳解

初探指針 首先我們定義一個指針變量p,代碼爲: int *p; 這個時候就會給p開闢一個內存空間,簡單地圖示爲(至於這個內存空間在哪裏,先對其不言):   接下來我們現在定義一個int變量a,代碼爲: int a; 那麼同樣會在一個地方

原创 C語言和C++中的const

首先從C語言中的const開始說: 在C語言中,const關鍵字是指定義一個常量,比如: 以上兩種定義方式是等價的,都是指定義一個值爲10的常量a。   然後說引入指針定義之後的變化: 舉例const int * b; 其意思是定義了

原创 幻方構造方法及C語言實現

所謂幻方,就是在一個nXn的正方形中,分別填上1到n*n的數字,使得每行每列以及對角線上的數字之和相等。比如,小學學過的九宮格就屬於3階幻方。幻方最早起源於中國。 對於幻方的求解,首先我們按照其階數n(即一個邊上有多少個格子)將其分爲奇階

原创 樹莓派操作系統安裝

1.首先需要將操作系統安裝到SD卡中(相當於樹莓派的硬盤)。   (1).下載操作系統的鏡像文件RASPBIAN (下載網址:https://www.raspberrypi.org/downloads/)   (2).格式化SD卡 使用