将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