OpenCV C++ 简单小技巧 - 格式转换 (9

8u 转 64f

mat *=(double)1/255;
mat.convertTo(mat, CV_64F);

64f 转 8u

自行查找这两个api的区别

normalize(mat, mat, 0x00, 0xFF, cv::NORM_MINMAX, CV_8U);
//另外一种写法
mat1.assignTo(mat2,CV_32S);

剃度处理小结,在转换之前先要把64f值abs化,这样就会得到正确的边缘特征,而不是两侧边缘位于两端的奇怪现象

未做绝对值的效果


image.png

基础转换很琐碎,需要自己持续不断的巩固

你可能感兴趣的:(OpenCV C++ 简单小技巧 - 格式转换 (9)