原创 常見數學符號---摘自文庫圖片

       

原创 Qt 給圖片加文字出現亂碼問題

分析思路 調試發現字符串拷貝函數拷貝後的dst字符和常量字符串的對應數據字節不一致,一直在找strcpy的問題,再而發現調試期間查看字符一箇中文佔2個字節,而拷貝後一箇中文佔3個字節,定位到了是字符編碼問題。 解決方式 工程採用execu

原创 Opencv LineMod源碼閱讀 computeResponseMaps

linemod 算法來自:Gradient Response Maps for Real-Time Detection of Textureless Objects,說明Response Maps 是一個很大的創新點 computeRes

原创 Opencv 仿射變換原理代碼解析

放射變換原理 仿射變換是線性變換,有一張圖可以很好地展示放射變換的效果 其實仿射變換是透視變換的一種特例,但是透視變換的自由度更高,3*3的矩陣表示,透視變換的自由度是8,而放射變換可以用2*3的矩陣表示,【A B】 A是2*2的旋轉部

原创 Qt 跨線程連接信號槽出現connect成功,不進入槽函數的問題解決

當圖片比較大的時候,獲取圖像中像素信息的計算耗時可能會增加一點,Debug模式偶爾會從1ms->10ms不等,分辨率是1000萬像素的圖像,所以做了一個線程去處理。 問題:connect(&m_pixelwork,SIGNAL(Pixel

原创 Opencv 指針指針用法問題

Opencv中Ptr這個類是一個智能指針 原本的用法: //method 1 delete problem linemod::ColorGradient cmodelity; cmodelity = linemod::ColorGradi

原创 Opencv + CUDA + 拓展代碼 編譯的記錄

編譯過Opencv3.0.0+CUDA 7.5+拓展庫,隨後編譯了Opencv3.4+CUDA 9.2,編譯源碼首先要確定CUDA的版本以及opencv的版本是否對應,編譯會出現unsupported gpu atch 'computer

原创 opencv findContour的 方法比較記錄

首先使用canny算子找到邊緣,再尋找輪廓。 CV_CHAIN_APPROX_NONE: 有部分區域的輪廓沒有連接上,有缺失存在。 CV_CHAIN_APPROX_SIMPLE : 結果沒有差別。 CV_CHAIN_APPROX_T

原创 MFC CString轉const char*

起因是因爲要實現一個UdpAddress實例,照示例程序的寫法: UdpAddress address((LPCTSTR)ipadd);  提示沒有匹配的構造函數,好吧看看構造函數都有神馬,能以IP地址+端口號構造的只有: Ud

原创 C++內存分配

   在談述函數調用和返回值問題之前,先來看看C++中內存分配的問題。 C++編譯器將計算機內存分爲代碼區和數據區,很顯然,代碼區就是存放程序代碼,而數據區則是存放程序編譯和執行過程出現的變量和常量。數據區又分爲靜態數據區、動態數據區

原创 windows設備上下文的概念

關於設備場景,叫法頗多,有些書上說爲設備環境、顯示場景,更常見的叫做設備描述表或設備描述體。當然你愛怎麼叫隨你的便,我還是喜歡說爲設備場景。 那 麼究竟什麼是設備場景呢? 設備場景是一種windows對象,而windows則是一種圖形環境

原创 最小二乘法解的矩陣形式推導

首先,什麼是最小二乘?  維基百科給出了一個定義,戳這裏 在我看來,最小二乘法是一種數據擬合方法。 我們從矩陣的角度來理解:  首先我們給出一個矩陣中的定義:  R(A)={Ax|x∈Rn},A∈Rn×n 有了上面的定義之後,我們

原创 二分查找不一定比順序查找到的效率高

看到數據結構B-樹的時候,聽到老師的一句話在對於某一個結點內部的向量查找來說,這個結點是KB量級的幾百個關鍵字組成,這個時候順序查找是比二分查找的效率更高的。 具體的我還沒搞清楚,因爲之前對於算法複雜度的分析,最壞情況下,用大O記號表示是

原创 相機數學模型

一、相機數學模型     相機模型爲以後一切標定算法的關鍵,只有這邊有相當透徹的理解,對以後的標定算法纔能有更好的理解。本人研究了好長時間,幾乎每天都重複看幾遍,最終纔會明白其推導過程。      我覺得首先我們要理解相機模型中的四個

原创 兩步標定法

在直接線性標定方法中,並沒有考慮相機鏡頭的非線性畸變,而在Tsai提出的兩步標定法中很好的解決了這個問題。相關理論推導如下: 1、相機畸變模型 在前一篇文章中有提到,應該比較好理解。 我們可以看出在上圖中可以