是否可以使用opencv在灰度圖像中繪製彩色矩形。 我嘗試了幾種方法,但整個圖像變成灰度或RGB。使用opencv在灰度圖像中繪製彩色矩形
回答
我對此表示懷疑。灰度圖像將在內部存儲爲每像素一個通道。 你必須做的是將圖像轉換爲彩色(使用紅色=綠色=藍色=灰色值)。然後你可以在灰色背景中繪製任何顏色。但是,當然,整個圖像會變成彩色圖像,很難支持具有小面積顏色的灰度圖像。
感謝您的洞察@Malcolm –
您不能有混合的灰色和彩色圖像。你可以看看Is there a way to have both grayscale and rgb pixels on the same image opencv C++?。
因此,您無法在灰度CV_8UC1
圖片上繪製彩色矩形。但是,您可以在顯示灰色圖像的CV_8UC3
圖像上繪製它。
您可以創建一個CV_8UC3
灰色圖像與cvtColor(..., ..., COLOR_GRAY2BGR)
,然後你可以在上面畫出你的顏色的矩形,如:
注意這個形象,但是,沒有更多的類型CV_8UC1
,而是CV_8UC3
。
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat1b gray = imread("path_to_image", IMREAD_GRAYSCALE);
// Convert gray image to BGR
Mat3b grayBGR;
cvtColor(gray, grayBGR, COLOR_GRAY2BGR);
// Draw the colored rectangle
rectangle(grayBGR, Rect(10, 10, 100, 200), Scalar(0,255,0), 2);
imshow("Image with Rect", grayBGR);
waitKey();
return 0;
}
感謝ton @miki爲我工作。但是這同樣對IplImage不起作用,因爲它對於Mat格式:( –
)不要使用iplimages,它們是過時的C語法,不應該再使用。 – Miki
- 1. 如何在灰色位圖圖像上繪製彩色圖形?
- 2. OpenCV彩色圖像灰色故障
- 3. 彩色圖像灰度圖像在Firefox
- 4. cvSetImageROI使用灰度和彩色圖像
- 5. 在OpenCV中將彩色圖像轉換爲灰度問題
- 6. 的OpenCV - 繪製灰度圖像
- 7. 繪製屏幕外的彩色正方形返回灰度圖像
- 8. 彩色在Winforms灰度圖像顯示
- 9. 使用opencv將視頻捕獲設爲灰度並在其中繪製矩形?
- 10. 在CPTAxisLabel(核心圖)中繪製一個彩色的矩形
- 11. 轉換彩色圖像的文件夾中,以灰度和使用OpenCV的
- 12. 彩色圖像使用CUDA並行處理灰度圖像
- 13. 將彩色圖像轉換爲灰度
- 14. 將灰度圖像轉換爲彩色
- 15. 如何在Python中使用OpenCV繪製灰度圖像的32位柱狀圖
- 16. 在opencv中繪製矩形,長度和寬度在cms中?
- 17. 繪製matlab中彩色圖像的梯度幅度
- 18. 使用矩形繪製圖像
- 19. plt.imshow顯示IPython中爲灰度圖像彩色圖像
- 20. 彩色圖像與Raphael.js灰度圖像不工作在I.E. 9
- 21. 我如何使所有彩色像素灰色繪製或位圖
- 22. 在opencv中如何將灰度圖像複製並縮放到另一個彩色圖像
- 23. 如何在OpenGL ES中繪製彩色矩形?
- 24. 繪製矩形圖像 - LibGdx
- 25. 在圖像中繪製矩形 - Matlab
- 26. 在OpenCV中繪製直角矩形
- 27. 圖像爲16bpp時,從位圖獲取彩色圖像灰度
- 28. 如何使用座標和灰度矩陣矩陣繪製圖像
- 29. BufferedImage - 獲取灰度彩色模型圖像中像素的值
- 30. 在Codenameone中將彩色圖像轉換爲灰度
如何繪製一個灰度矩形?是否可以繪製單通道顏色的矩形或其他幾何形狀? – SomethingSomething