23
在OpenCV中,如果我有一個包含uchar數據的mat img,我該如何將數據轉換爲浮點數?有沒有可用的功能?謝謝。將uchar Mat轉換爲OpenCV中的Mat?
在OpenCV中,如果我有一個包含uchar數據的mat img,我該如何將數據轉換爲浮點數?有沒有可用的功能?謝謝。將uchar Mat轉換爲OpenCV中的Mat?
使用cvConvert
功能。在Python:
import cv
m = cv.CreateMat(2, 2, cv.CV_8UC1)
m1 = cv.CreateMat(2, 2, cv.CV_32FC1)
cv.Convert(m, m1)
如果你的意思是C++,那麼你必須在opencv2refman.pdf
#include<opencv2/opencv.hpp>
using namespace cv;
Mat img;
img.create(2,2,CV_8UC1);
Mat img2;
img.convertTo(img2, CV_32FC1); // or CV_32F works (too)
細節。
UPDATE:
CV_32FC1爲值1通道(C1,即灰度圖像)漂浮(32F)像素
CV_8UC1爲1通道(C1,即灰度圖像)無符號字符(8UC)價值的。
你能告訴我我們需要使用'32F'還是'8U' – AHF 2014-03-31 11:45:58
@Ahmad請參閱更新。 – 2014-03-31 12:45:24
這實際上是我的問題,爲什麼我們需要使用浮點值像素以及我們需要使用char值的像素 – AHF 2014-03-31 12:56:33