封裝**
這是視覺組dalao給大家布置的學期末學習任務。
因為之前沒有接觸過linux,環境也沒有配置好,對很多操作不夠熟悉,做這個任務從頭到尾大約花了兩天合計15個小時的時間,中間還問過dalao兩個小時左右的問題(此處給大佬比心),雖然和大佬說的三個小時相去甚遠但是最後還是趕在ddl之前完成了任務。
總的來說收穫很多,了解了zhangsuen骨架提取演算法的原理和演算法實現,複習了物件導向程式設計的c++,還對linux系統(ubuntu)有了進一步的了解,寫第一篇博文記錄一下大致過程和心得。
使用zhangsuen骨架提取演算法實現簡化數字輪廓
效果如圖所示:
標頭檔案
#ifndef c_zhangsuen_diy_h
#define c_zhangsuen_diy_h
#include
///基本資料型別
#include
///影象訪問&線性變換
#include
///輸出介面&互動介面
using namespace std;
using namespace cv;
class
skeleton
;//主函式呼叫函式 函式呼叫類 並在函式體中判斷條件 最後利用函式體返回
mat skeleton
(mat src)
;#endif //c_zhangsuen_diy_h
主檔案
//*recoverd by zhenglin/on 2018/12/29
#include "zhangsuen_diy.h"
/mat skeleton
(mat src)
;int main()
成員函式實現
#include "zhangsuen_diy.h"
//此演算法的四個條件:
//(a) 2 ≤ b(p1) ≤ 6
//(b) a(p1) = 1
//(c)
// 1. p2 x p4 x p6 = 0 in odd iterations
// 2. p2 x p4 x p8 = 0 in even iterations
//(d)
// 1. p4 x p6 x p8 = 0 in odd iterations
// 2. p2 x p6 x p8 = 0 in even iterations
void skeleton:
:initialize()
skeleton:
:skeleton()
void skeleton:
:getdst
(mat src)
void skeleton:
:dsttoimg()
int skeleton:
:getap
(int i, int j)
}int skeleton:
:getbp
(int i, int j)
}bool skeleton:
:condition34isok_1
(int i, int j)};
bool skeleton:
:condition34isok_2
(int i, int j)};
void skeleton:
:erasepoint
(int i, int j)
mat skeleton:
:mat_return()
;mat skeleton
(mat src)}}
}}//掃瞄過程一 結束
skel.
dsttoimg()
;//掃瞄過程二 開始
for(i =
1; i < src.cols -
1; i++)}
}}}//掃瞄過程二 結束
if(isfinished ==
false
)///如果在掃瞄過程中沒有刪除點則提前退出
return skel.
mat_return();}}
經驗+5
[1]兩種影象骨架提取演算法的研究(1)原理部分 博主:zhubaohua_bupt
[2]gocvhelper 影象增強部分(3) 博主:jsxyhelu
[3]opencv3.2各個模組功能詳細簡介(包括與opencv2.4的區別) 博主:朱銘德
[4]影象處理之zhang suen細化演算法 博主:gloomyfish
[5]ubuntu 18.04換國內源 中科大源 阿里源 163源 清華源 博主:nudt_qxx
工作內容 機器視覺工程師,明確學習內容,慢慢來
演算法機器視覺相關演算法的研究開發 工業數字影象處理演算法的開發 工程應用計算機視覺軟體開發 工業視覺檢測產品開發 計算機要求計算機語言 qtc python 視覺庫 halcon opencv matlab 平台 linux android 機器學習 深度學習 theano,caffe,torch...
如何進行視覺內容營銷?
視覺內容營銷已經存在了一段時間,但是一些營銷人員仍然不知道如何充分利用它。統計資料顯示,有23.7 的內容營銷人員將視覺內容視為最大的挑戰。在本文中,我們將向你展示可以建立的視覺效果的型別,出色的視覺內容營銷的一些示例以及如何製作自己的視覺效果。那麼,人腦如何處理視覺效果?以下是在內容營銷中使用視覺...
視覺設計師輸出內容(IOS)
字型的顏色 大小 字型大小 文字 圖示的位置畫素位置 選中和展開的狀態及位置 對設計稿切圖 根據合作的開發人員不同,對一些要求可能也不同,以下是需要注意的一些內容 1 名稱 最好是在前面加上用途簡稱 2 大小 畫素大小最好用偶數。例如 320 240 正確 320 75 錯 以避免在使用的時候出現小...