OpenCV图像处理使用笔记(三)——单通道的Mat对象强转为三通道的Mat对象
生活随笔
收集整理的這篇文章主要介紹了
OpenCV图像处理使用笔记(三)——单通道的Mat对象强转为三通道的Mat对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
在機器學習和深度學習的時候,對圖像進行處理時,會遇到明明是給的三通道的圖像,但因為是黑白的,程序判斷為單通道的圖像,這樣讓人很無語,還有有時候有些庫必須要傳入三通道的RGB圖像,但為了提升處理的速度,我們就已經在別的地方做比如邊緣檢測啊,外部輪廓提取等操作,此時的圖像已經是單通道Mat,為了使用處理好的單通道Mat,可以寫個函數把單通道的Mat強行轉換成三通道的Mat。
Mat類型轉換
Mat channelSwitching(const Mat& src) {Mat three_channel = Mat::zeros(src.rows,src.cols,CV_8UC3);vector<Mat> channels;if(src.channels() == 0){for (int i=0;i<3;i++){channels.push_back(src);}merge(&channels[0], channels.size(), three_channel);}return three_channel; }轉換的結果也是得到一張黑白圖像,但此時已經是三通道的黑白圖像了,意思就是把程序給騙過去而已。
總結
以上是生活随笔為你收集整理的OpenCV图像处理使用笔记(三)——单通道的Mat对象强转为三通道的Mat对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu 16.04下Caffe-S
- 下一篇: Ubuntu 16.04下Caffe-S