原创 Qt網絡編程——使用OpenCV與TCP搭建圖像處理服務器

前言 前面的博客有寫過如果使用TCP搭建一個客戶端與服務器,連接並互發信息,這裏主是演示,如何把客戶端的圖像發往服務器,服務器得到圖像後,按指令做不同的處理,並返回給客戶端處理之後的結果,客戶端只負責打開和發送圖像,所有關於圖像的

原创 使用OpenCV進行身份證號碼字符進行分割

前言 經過前面的代碼處理,已得到身份證上的唯一的號碼區域,那麼下面的代碼是把號碼區域切割成單個字符,這一步是爲了以後的識別做準備。 代碼 //把整個字符圖像分割成單個字符圖像 //傳入一個切割出來的號碼區域,輸出一個分割好的單個字

原创 C++對中文字符的處理

前言 1.C++的string對中文的查找替換之類的基本操作並不友好,如果要對中文進行操作,要把中文轉成寬字符(wstring)來解決,因爲中文字符長度不確定的,在unicode中每個中文爲2個字節,而字符串中有時還可能有英文數字

原创 OpenCV圖像處理——深度學習樣本製造

前言 在做深度學習相關的項目時,往往最麻煩的是樣本的收集,或者只有很少的一些樣本,訓練根本達不到想要的效果,很多網絡模型的配置文件裏面都有樣本增強的定義,是對樣本做旋轉,變換之類的操作,但沒有給樣本加一些背景來製造增強樣本的數量。

原创 圖像處理——基於深度學習HED實現目標邊緣檢測

前言 使用傳統的圖像來檢測目標邊緣,受到干擾的因素太多了,而已魯棒性不高,同樣的參數,在這個環境下可以,換個環境就根本檢測不到物體的邊緣,或者把不是邊緣的也檢測進去了。ICCV2015有人提出了整體嵌套邊緣檢測,就通過深度學習模型

原创 Windows10下使用darknet和YOLOV3訓練自己的數據集

前言 1.我的環境是windows10,vs2015,cuda9.1,cudnn7.1。 2. darknet加yoloV3,用cmake和vs2015編譯成darknet.exe。 3. 我的目錄結構是在darknet目錄下新建

原创 Qt與OpenCV編程:在QLabel加載的圖像上畫矩形並剪切

前言 1.使用Qt與OpenCV做開發時,時常會用到鼠標與圖像交互這塊,OpenCV有自己的鼠標事件,但要在Qt搭建的界面上是不能使用OpenCV封裝的鼠標事件,Qt有自己的鼠標事件。 2.Qt鼠標事件: protected:

原创 Windows下 GBK與UTF8之間的互相轉換(C++)

1.GBK轉UTF8 std::string GBKToUTF8(const char* str_GBK) { int len = MultiByteToWideChar(CP_ACP, 0, str_GBK, -1, NULL

原创 把Qt的界面文件(.ui文件)生成源文件(.h或.cpp)封裝成鏈接庫

前言 在用Qt做開發時,爲了方便快速,一般都使用Qt設計師界面類來做界面相關的佈局,這個類在當前工程中是沒有.cpp或.h文件的,但主類又有引入了這個頭文件,點開轉到定義或聲明時,是打不開的,如下圖: 如果要把整個項目導成dll

原创 OpenCV的圖像處理——iOS與OpenCV之間圖像轉換

前言 1.OpenCV有專門的iOS平臺的包,可以真接下載導入工程,也可以用cmake把OpenCV源碼編成.a文件,以靜態庫的形式導入工程。 2.我這裏用的Xcode11,OpenCV用的是最4.20這個版本。 圖像轉換 1.i

原创 OpenCV圖像處理——iOS端人臉檢測

前言 1.OpenCV有專門的iOS平臺的包,可以真接下載導入工程,也可以用cmake把OpenCV源碼編成.a文件,以靜態庫的形式導入工程。 2.我這裏用的Xcode11,OpenCV用的是最4.20這個版本。 3.這裏用到的人

原创 Qt網絡編程——TCP服務器與客戶端互發信息

前言 前一個博客,試了TCP的服務器與客戶端的連接與斷開,接下就是客戶端與服務器互發信息。 客戶端 1.往服務器發送信息 //發送消息 void Client::on_buttonSendMessage_clicked() {

原创 QT網絡編程——TCP客戶端連接到服務器

前言 1.在Qt中,QtNetwork模塊是用來進行網絡編程,Qt提供了一層統一的套接字抽象用於編寫不同層次的網絡程序,避免了應用套接字進行網絡編的繁瑣,對不同平臺,Qt都可以很好的支持,不用另外添加別的庫。 2.而TCP:(Tr

原创 身份證識別——iOS端實現身份證檢測

前言 1.之前在PC端做過身份證檢測識別相關的項目,用的環境是Caffe-SSD訓練的VGG16,模型大小大概爲90M左右,在PC下,不調用GPU加速的話,處理檢測速度並不理想。之後想把這個項目移植到移動端,然後在IPhone X

原创 OpenCV圖像處理——把圖像指定顏色變成透明

概述 PNG格式的圖像是有透明通道,用PS打開的時候,透明的地方是沒有像素的,可以的下面在ps裏面顯示的效果。 黑色背景: 白色背景: 透明背景: 把指定顏色變成透明 代碼: void toPng(cv::Mat &src,