[英]How to convert a labview image type to opencv image type (or Mat)?
我正在使用LabView從USB攝像機獲取圖像,然后想通過dll文件(在調用函數VI中使用)使用openCV函數處理該圖像。 現在,我想轉換Labview產生的圖像格式以使用opencv處理它。 我該怎么辦?
使用任何可用的工具箱。 說,這個: https : //www.ehe-lab.com/OpenCV_Wrapper.html
您可以使用“ IMAQ GetImagePixelPtr”在LabView中獲取圖像上的指針。
在dll中,您應該可以像這樣獲取它:
int function(unsigned __int8 *LVImagePointer, int lineWidth, int height, int width)
{
Mat image(height, width, CV_8UC1, LVImagePointer, lineWidth);
...
}
我發現防止內存泄漏很復雜。 我建議您使用工具箱: http : //ms-consultants.de/index.php/software/msc-image-processing/37-msc-image-processing-eng
如果您需要更多功能,它們還提供實現新功能的功能。
我發現它很容易使用IMAQ ImageToArray
的IMAGE
和IMAQ GetImageSize
為IMAGE_HEIGHT
和IMAGE_WIDTH
並通過這些給DLL。 他們這樣稱呼:
cv::Mat src = cv::Mat(IMAGE_HEIGHT, IMAGE_WIDTH, CV_8UC1, IMAGE);
它的優點是,通過將從DLL中獲得的數組轉換回映像,可以在Labview中看到src
上的所有操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.