原创 OpenCV判斷輪廓是內輪廓還是外輪廓

使用OpenCV的findContours函數查找輪廓,當參數爲CV_RETR_LIST時,查找到的輪廓不建立等級關係,也就是當前模式下不存在父輪廓或內嵌輪廓的位置關係,所以當圖中存在環形輪廓內外嵌套時(如下圖所示數字輪廓8),如果要判斷

原创 CString與utf-8互轉及其他類型轉換

//string類型的utf-8字符串轉爲CString類型的unicode字符串 CString ConvertUTF8ToCString( std::string utf8str ) { /* 預轉換,得到所需空間的大小 *

原创 OpenCV獲取不規則三角形 / 四邊形區域內的所有點座標,並判斷某一點是否在區域內

根據四邊形的四個頂點座標點,通過OpenCV裏的cv::drawContours函數畫到黑色背景圖上,如下圖所示,遍歷圖像獲取灰度值爲255的點的座標,即是四邊形內所有點的座標,三角形同上, 要判斷某一點是否在三角形或四邊形區域的,使用迭

原创 類似四邊形輪廓獲取頂點座標

std::vector<cv::Point> GetVertex(cv::Mat src) { Mat img; src.copyTo(img); threshold(img, img, 200, 255, CV_THRESH_B

原创 異或加解密

string _Encode(string prim) { string result = ""; string str = prim; size_t pos; vector<string> temp; for (int

原创 CFileDialog選擇打開多個圖片文件

​ void CReportDlg::OnBnClickedAddpic() { // TODO: 在此添加控件通知處理程序代碼 CString strPath = _T(""); CFileDialog Open(TRUE

原创 MFC創建Word文檔,進行插入表格、圖片操作

VS2013+office2013實現Word文檔的創建,以及實現插入表格、圖片的操作,在數據保存完畢後會彈出窗口選擇保存路徑,可以保存成doc和PDF的格式。 首先在界面上添加一個保存按鈕,然後添加點擊事件響應函數OnBnClicke

原创 MFC登錄界面實現類似QQ的功能(詳細步驟及代碼)

  首先添加一個combobox控件,控件添加m_cbExample變量,此外添加“記住密碼”複選框。 之後在CLoginDlg::OnInitDialog()函數裏調用函數_OnSetComboBox(),此函數主要是進行下拉框用

原创 MFC在指定控件區域內改變鼠標光標形狀

MFC想要實現鼠標光標在指定區域內能夠改變其形狀,變成十字,需要對OnMouseMove的消息進行處理,在消息處理函數內添加以下代碼,實現鼠標光標改變的效果。void CInnovpowerUAVDlg::OnMouseMove(UINT

原创 獲取輪廓中心點,並且判斷是否在一個矩形區域內

最近在做圖像處理項目,需要對獲取到的多個輪廓進行篩選,之前的代碼是取最大的輪廓,而我真正想要取到的是第二大的那個輪廓,最大的輪廓需要被篩選掉,而最大的輪廓位於圖像左邊,所以增加了一個篩選的規則,取到每個輪廓的中心點,然後判斷中心點是否在圖

原创 根據輪廓的位置調整正極點的位置

int sumanodex=0,sumcathodex=0,s; float meananodex,meancathodex; int anodex1,cathodex1; int cathodedis,meandis; i

原创 通過輪廓點對負極點的y值進行調整

負極點位置過低,用輪廓點進行負極點y值的調整。ChangePosition(std::vector<CvPoint>& ContourPoint) { int size=m_lines.size(); int miny; int s

原创 CString與utf-8互轉

std::string ConvertCStringToUTF8( CString strValue ) { std::wstring wbuffer; #ifdef _UNICODE wbuffer.assign( s

原创 通過正極點的平均值對偏移正極點進行擬合

最近在找點的過程中,發現正極點會出現部分點的偏移,從而影響最終的結果,所以通過正極點的平均值來進行判斷,對於正極點進行擬合。 int i,j; int anodey; int sumpointy=0,meananodey; int