如何解决在OpenCV中将uchar Mat转换为float Mat?
| 在OpenCV中,如果我有一个包含uchar数据的Mat img,如何将数据转换为float?有功能吗?谢谢。解决方法
如果您的意思是C ++,那么您有
#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)
详细信息请参见opencv2refman.pdf。
更新:
CV_32FC1适用于1通道(C1,即灰度图像)浮点值(32F)像素
CV_8UC1适用于1通道(C1,即灰度图像)无符号字符(8UC)值的字符。
更新2:
根据Arthur Tacca的说法,只有ѭ1才是正确的(或者大概是CV_8U),因为convertTo不应更改通道数。听起来合乎逻辑吗?但是,当我检查过opencv参考手册时,找不到有关此的任何信息,但我同意他的观点。
, 使用cvConvert
功能。在Python中:
import cv
m = cv.CreateMat(2,cv.CV_8UC1)
m1 = cv.CreateMat(2,cv.CV_32FC1)
cv.Convert(m,m1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。