我已經使用Qt創建了繪圖應用程序。現在,無論我畫什麼,我都需要處理圖像。所以,我想在openCV中將繪製的圖像轉移到Mat。我怎樣才能做到這一點?如何將使用Qt繪製應用程序繪製的圖像傳輸到Mat openCV
0
A
回答
1
我寫了一個代碼片段,用於將視頻傳輸到cv::Mat
,但我希望你能理解主要想法,你應該這樣做。
QPixmap win = QPixmap::grabWindow(QApplication::desktop()->winId());
QImage scr = win.toImage().scaled(640,480);
QImage screen = scr.convertToFormat(QImage::Format_RGB888);
cv::Mat tmp(screen.height(),screen.width(),CV_8UC3,(uchar*)screen.bits(),screen.bytesPerLine());
cvtColor(tmp, tmp,CV_BGR2RGB);
現在cv::Mat
包含此圖像。
實施例:
QPixmap okno = QPixmap::grabWindow(QApplication::desktop()->winId());
QImage scr = okno.toImage().scaled(640,480);
QImage screen = scr.convertToFormat(QImage::Format_RGB888);
cv::Mat tmp(screen.height(),screen.width(),CV_8UC3,(uchar*)screen.bits(),screen.bytesPerLine());
cvtColor(tmp, tmp,CV_BGR2RGB);
cv::namedWindow("d");
cv::imshow("d",tmp);
imshow
節目cv::Mat
正常。
+0
獲取錯誤,對'cv :: fastFree(void *)'的未定義引用, 未定義的引用'cv :: Mat :: deallocate()' – user3747190 2014-09-27 15:28:24
+0
@ user3747190這對我的示例代碼沒有問題,你的項目出現了問題,而且google給出的所有鏈接都表示鏈接庫存在問題。 – Chernobyl 2014-09-27 15:38:46
相關問題
- 1. 如何用QT繪製平鋪圖像
- 2. 製作繪製/繪製應用程序
- 3. 上繪製圖像的OpenCV
- 4. Qt繪圖應用程序
- 5. 如何在Qt應用程序中使用directFB繪製漸變?
- 6. 在地鐵應用程序中將圖像繪製到畫布
- 7. 如何繪製OpenGL ES的iPad背景圖像應用程序
- 8. 將圖像繪製到gtk.DrawingArea?
- 9. 如何使用ImageMagick將鏡像文本繪製到圖像上?
- 10. 使用CGImage繪製圖像?
- 11. 如何繪製圖像以填充此WPF/XAML應用程序?
- 12. 如何在Android主細部應用程序中繪製圖像?
- 13. 如何使用GCD繪製圖像?
- 14. 如何繪製全屏應用程序
- 15. 如何使用Nokia Qt C++繪製和導出透明圖像?
- 16. 繪製文本使用QT
- 17. iPhone應用程序:繪製圖
- 18. 如何使用LaTeX繪製流程圖?
- 19. 製作繪圖應用程序的截圖+繪製2D形狀輪廓
- 20. QT:將位圖/ PNG圖像繪製到QWidget
- 21. 繪製opencv?
- 22. 繪製圖像
- 23. 繪製圖像?
- 24. 繪製圖像
- 25. 如何繪製swt圖像?
- 26. Matlab。如何繪製圖像
- 27. 如何繪製圖像
- 28. 圍繞圖像QT繪製邊框。
- 29. 用Graphics2D繪製圖像
- 30. 用按鈕繪製圖像
http://stackoverflow.com/questions/11886123/how-to-convert-qimage-to-opencv-mat – 2014-09-27 14:59:13