原创 ROS: spin與spinOnce

區別與聯繫 ros::spin()和ros::spinOnce()都是用來集中處理本節點所有的回調函數,一般在節點存在訂閱消失時,需要用到,區別在於執行ros::spin()後,程序不再往下執行,執行ros::spinOnce()後程序依

原创 區域灰度差變換

用一個矩形掩模計算像素點的灰度範圍 halcon例子:engraved.hdev 原理: 該像素點爲中心,所在矩形的最大灰度和最小灰度差。 void gray_range_rect(cv::Mat &src, cv::Mat &dst,

原创 QT : 多線程使用定時器

方法一: run()函數中初始化和start timer。 void MyThread::run() { timer = new QTimer(); connect(timer,SIGNAL(timeout()),thi

原创 QT:自適應佈局

拉入三個widget,左邊放入button和treeView,中間放入LineEdit和ListView,右邊放入TextEdit,三個都設置爲垂直佈局。   此時控件不能隨窗口自適應。   窗口自適應佈局 接下來對整個窗口進行水平佈局

原创 語音加窗分幀處理

  分幀加窗處理 預加重 爲了消除發聲過程中,聲帶和嘴脣造成的效應,來補償語音信號受到發音系統所壓抑的高頻部分。並且能突顯高頻的共振峯。 簡單理解就是在頻域上面都乘以一個係數,這個係數跟頻率成正相關,所以高頻的幅值會有所提升。   分幀

原创 QT:調用Python腳本

環境配置 Python的版本是Python3.5,使用anaconda安裝。   加入頭文件和庫文件路徑 INCLUDEPATH +=  D:\Anaconda\Anaconda3\include LIBS +=  D:\Anaconda

原创 Opencv&Halcon混合編程

前言 Halcon 具備一些非常強大的算子,特別是其中的模板匹配功能,因此在建立自己的解決方案時,靈活的運用Halcon與OpenCV往往會事半功倍。 1. 編寫halcon代碼 以halcon中的find_scaled_shape_m

原创 C++ Visual Stdio生成庫文件

對項目屬性進行設置   函數聲明添加前綴 對於windows系統,需要在頭文件函數聲明前加__declspec(dllexport) 也可以將該前綴進行宏定義 #if(defined _WIN32 || defined WINCE

原创 QT:事件的接收和忽略

可被傳遞的事件可以通過accept/ignore進行標記,用於表示“接收”或是 “忽略”這個事件(缺省爲接收)。   若事件hanlder調用accept,則事件不會繼續被傳遞父控件。可以通過ignore或者再次傳遞事件,將事件傳遞給父控

原创 分水嶺分割算法

分水嶺算法 分水嶺算法將圖像看做3-D的地形模型,圖像中每一像素的灰度值表示該點的海拔高度,每一個局部極小值及其影響區域稱爲積水盆地,積水盆地的邊界形成分水嶺。每個局部極小值刺一個孔,將該地形模型緩慢浸入水中,隨着浸入的加深,水會從局部極

原创 jQuery Animate

自帶動畫 Speed可取"slow"、"fast"或毫秒。 顯示、隱藏、顯示隱藏交替 $(selector).hide(speed,callback); $(selector).show(speed,callback); $(select

原创 QT:代碼動態管理控件

通常在添加控件時,使用Qt Designer拖動就可以了,但是偶爾也會遇到需要使用代碼動態添加控件的時候。 在需要動態增減空間的部件上添加一個佈局控件,然後在佈局上增減控件,這樣部件大小會跟着變化。 新增控件時,名稱不要重複。 新增控件時

原创 卡爾曼濾波

卡爾曼濾波 卡爾曼濾波的核心 卡爾曼濾波的核心是預測+測量反饋。   以一個勻速直線運動的過程爲例:   目標系統(線性系統)的狀態轉移方程:                                                

原创 ROS:RVIZ三維可視化工具

RVIZ是一個強大的可視化工具,可以看到機器人的傳感器和內部狀態。1.安裝rbx1功能包 Rbx1是國外一本關於ros的書中的配套源碼,包含了機器人的基本仿真、導航、路徑規劃、圖像處理、語音識別等等。 獲得資源:google再svn上發佈

原创 QT:自定義控件

QT中原本的控件不能滿足需求需要自定義控件然後將原控件提升爲自定義控件。QT中原本QgraphicsView類不具備鼠標及按鍵的事件捕捉功能,所以需要對該類進行繼承,然後添加鼠標響應事件。 1. 新建一個普通的類CustomQGraphi