原创 Basler相機SDK注意事項(Qt框架) QFuture.waitForFinished()竟然報錯

1、格式轉換後,CPylonImage.GetBuffer()訪問衝突 原因是ptrGrabResult裏有緩存,需在合適的位置先 ptrGrabResult.Release()。推薦使用方式二。 2、QPixmap::fromImage

原创 QFuture.isFinished()爲true,QFuture.waitForFinished()竟然報錯

注意可能存在QFuture.isFinished()爲true,QFuture.waitForFinished()報錯的情況。 原因可能是QtConcurrent::run()的函數沒有正確退出造成。 【具體過程如下】 QtConcurre

原创 QPixmap::fromImage(img)訪問衝突

 我是在將圖像格式轉換爲QImage後,把QImage發送給UI界面顯示時出現的問題。  加了個深拷貝,就解決了。 OutImage = QImage(buffer, width, height, QImage::Format_RGB8

原创 Qt視覺軟件開發過程中,問題記錄與思考 QPixmap::fromImage(img)訪問衝突

1、函數的輸出型參數用&修飾。 經典案例 swap(a,b),如果把b當做輸出型參數,這個函數不會改變b。因爲值傳遞深拷貝。參考我博客c++筆記2(參考learncpp.com) - 夕西行 - 博客園 (cnblogs.com)的1部分標

原创 moveToThread()注意項

功能:將類中的函數在子線程中執行。 1、該類公有繼承QObject 2、該類中函數爲公共函數 3、主線程中創建該類對象時不可以指定父對象 4、線程函數必須由信號槽方式觸發。不可以用對象調用函數的方式。 【具體案例參考】 QT線程之 move

原创 調用相機SDK時的注意事項

1、幀指針的錯誤使用 void BaslerCam::OnImageGrabbed(Pylon::CInstantCamera& camera, const Pylon::CGrabResultPtr& ptrGrabResult) {

原创 C# dll反編譯,設置控制檯不顯示窗口

【C# dll反編譯】 用工具打開exe、dll等就可以看到源碼 工具參考此博客 DLL文件反編譯(附:工具下載鏈接)_劉夢凡呀的博客-CSDN博客_dll反編譯 【設置控制檯不顯示窗口】 創建控制檯程序後,選中項目,右鍵,屬性,輸出類型選

原创 Basler相機Bayer格式轉Qt RGB888

無論什麼品牌的相機,Bayer轉RGB都涉及到插值,因此建議使用官方SDK裏的函數進行轉換。針對Basler相機,代碼如下: void BaslerCamera::toQImage(CGrabResultPtr ptrGrabResult

原创 【案例收集】qt widget 機器視覺方向開發

1、圖片的縮放(鼠標位置爲原點)、中鍵復原、雙擊全屏、左鍵拖動等 jurplel/qView: Practical and minimal image viewer (github.com)

原创 Halcon字符識別專題

先開個篇,後期逐步加入 1、注重識別準確率的,用cnn。 對應案例及關鍵代碼 do_ocr_word_cnn (CharRegion, CharImage, OCRHandleCNN, '[a-z.]', 3, 2, ClassRea

原创 權重文件(模型)

weights——YOLO darknet的模型格式 pth、pt——Pytorch的模型格式 ckpt——tenserflow的模型格式

原创 OpenCV dnn調用onnx模型

OpenCV裏可以直接使用的模型: readNetFromTorch # 注意是torch而不是pytorch,所以要的模型是.t7格式的。 readNetFromTensorflow readNetFromONNX readNetFro

原创 Qt的pro文件、VS的props文件中Halcon配置 Qt Halcon pro文件的編寫

Qt的pro文件: Qt Halcon pro文件的編寫 VS的props文件: <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http

原创 Winform項目操作Oracle需要的dll

需要的dll要放入exe所在目錄 dll可以從官網下載,也可以VS的nuget獲取(注意項目基於.Net還是.NetCore)

原创 Oracle創建用戶,PLSQL Developer建表,自增

【Oracle創建用戶】 打開 輸入用戶名,密碼 創建用戶me,並設置密碼。新版本oracle公共用戶必須帶c## 授權 登錄,並查看 【PLSQL Developer建表】 登錄,用戶me Tables處鼠標右鍵,新建表 表