我已經使用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. 如何用谷歌應用程序引擎繪製圖像?
- 8. 如何「真的」在Java應用程序中繪製圖像
- 9. 如何繪製OpenGL ES的iPad背景圖像應用程序
- 10. 使用在應用程序中繪製保存的圖像 - Android
- 11. 將圖像繪製到gtk.DrawingArea?
- 12. QT繪製像素到圖形場景
- 13. 將上傳的圖像(使用Ajax)繪製到Canvas
- 14. 如何使用ImageMagick將鏡像文本繪製到圖像上?
- 15. 如何將圖像繪製到pictureBox?
- 16. 使用CGImage繪製圖像?
- 17. 使用Graphics2D繪製圖像
- 18. 使用zendPDF繪製圖像
- 19. 使用LibCanvas繪製圖像
- 20. 如何在Android主細部應用程序中繪製圖像?
- 21. 如何繪製圖像以填充此WPF/XAML應用程序?
- 22. 使用Qt繪製Sin(x)的圖形
- 23. 如何使用PictureBoxSizeMode.Zoom繪製圖像
- 24. 如何使用QGraphicsItem繪製圖像?
- 25. 如何使用GCD繪製圖像?
- 26. 如何使用TextureBrush繪製圖像
- 27. 如何繪製全屏應用程序
- 28. 如何使用OpenCV繪製多邊形?
- 29. 繪製文本使用QT
- 30. 如何使用Nokia Qt C++繪製和導出透明圖像?
http://stackoverflow.com/questions/11886123/how-to-convert-qimage-to-opencv-mat – 2014-09-27 14:59:13