我正在使用OpenCV庫的程序工作(儘管我對它很不喜歡)。我需要做的一件事是繪製圖像。我查看了OpenCV繪圖函數,它們看起來都非常簡單(圓形,線形等),但程序不會編譯!它說這是確切的:錯誤C3861:'行':標識符未找到。 有沒有我沒有安裝的東西?我使用http://opencv.willowgarage.com/wiki/VisualC%2B%2B_VS2008上的教程在Visual Studio 2008上安裝OpenCV,到目前爲止,這是我唯一真正的問題。 請幫幫我!我需要這個程序儘快工作!OpenCV:在圖像上繪圖
3
A
回答
4
在OpenCV C API中繪製一條線的函數名爲cvLine
,而不是Line
。
1
我想你已經下降了以下常見的錯誤的犧牲品: C包括在#include <opencv/core.h>
等,而 C++包括有:
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <oppencv2/highgui/highgui.hpp>
包括那些用於繪圖和顯示圖像。使用using namespace cv;
然後 你不必寫cv::line
只是line
和一切都會工作正常。
我開始時不得不面對同樣的問題。 ;)
(順便說一句和使用cv::Mat
對C++)
0
現在,您可以輕鬆地在OpenCV的圖像繪製。爲此,您需要在opencv上調用setMouseCallback(‘window_name’,image_name)
函數。之後,您可以輕鬆處理圖像上的鼠標回調功能。然後您需要檢測cv2.EVENT_LBUTTONDOWN, cv2.EVENT_MOUSEMOVE and cv2.EVENT_LBUTTONUP
事件。通過檢查適當的布爾條件,您需要決定如何與OpenCV圖像進行交互。
def paint_draw(event,former_x,former_y,flags,param):
global current_former_x,current_former_y,drawing, mode
if event==cv2.EVENT_LBUTTONDOWN:
drawing=True
current_former_x,current_former_y=former_x,former_y
elif event==cv2.EVENT_MOUSEMOVE:
if drawing==True:
if mode==True:
cv2.line(image,(current_former_x,current_former_y),(former_x,former_y),(0,0,255),5)
current_former_x = former_x
current_former_y = former_y
elif event==cv2.EVENT_LBUTTONUP:
drawing=False
if mode==True:
cv2.line(image,(current_former_x,current_former_y),(former_x,former_y),(0,0,255),5)
current_former_x = former_x
current_former_y = former_y
return former_x,former_y
因爲你可以看到鏈接的詳細信息:How to Paint on OpenCV Images and Save the Image
輸出:
相關問題
- 1. 上繪製圖像的OpenCV
- 2. opencv在另一個圖像上繪製透明圖像
- 3. Processing.js - 在圖像上繪圖
- 4. 在圖像上繪圖
- 5. 在Jframe圖像上繪圖
- 6. PlayN - 在圖像上繪圖
- 7. 對圖像的繪圖點opencv
- 8. 在繪圖區域上繪製圖像
- 9. OpenCV在網絡攝像頭上繪製圖像
- 10. 如何在圖像上繪製圖像?
- 11. OpenCV中的繪圖和繪圖圖形
- 12. 在圖像視圖上繪圖android
- 13. 在OpenCV中繪製單個輪廓在圖像上
- 14. 在圖像上繪製
- 15. 在win32上繪製圖像?
- 16. 在圖像上繪製點
- 17. Android - 在圖像上繪製
- 18. 在JButton上繪製圖像?
- 19. 使用opencv在圖像上繪製雙面箭頭python
- 20. 使用OpenCV在網絡攝像機上繪圖
- 21. 在OpenCV中的白色圖像上繪製線
- 22. 的OpenCV - 繪製灰度圖像
- 23. 在DrawingContext上繪圖時在圖像上繪製陰影
- 24. jfree圖在圖像上繪製陰謀
- 25. 在緩衝圖像上繪圖
- 26. 用Java/Spring/JSP在圖像上繪圖
- 27. 在圖像庫上繪圖文本
- 28. 在位圖圖像上繪製文本
- 29. 用Matlab在圖上繪製圖像
- 30. 使用Raphael.js在圖像上繪圖
好吧......這是容易的。沒有人在網站上說過--_ http://opencv.willowgarage.com/documentation/python/drawing_functions.html 非常感謝! – Juls 2010-08-25 11:46:00
@Juls您發佈的鏈接是用於Python文檔的,這就是爲什麼函數名稱不同。 – 2010-08-25 12:12:56
+1準確。 Juls,不要忘了投票答覆他的答案或接受它作爲官方解決方案。 – karlphillip 2010-08-25 13:27:42