将IPL_DEPTH_16S映像转换为JavaCV中的IPL_DEPTH_8U

时间:2012-05-31 03:27:43

标签: opencv javacv

我有一张深度为IPL_DEPTH_16S

的One Image
IplImage result = cvCreateImage(cvGetSize(smoothImage), IPL_DEPTH_16S, 1);
cvSobel(smoothImage, result, 0, 1, 3);

我希望将结果图像传递给需要IPL_DEPTH_8U图像的其他对象。那么有没有办法在JavaCV中将IPL_DEPTH_16S转换为IPL_DEPTH_8U。

我已经尝试使用cvConvertScale()方法了。但我无法找到该方法的确切参数。

Thankx ..

1 个答案:

答案 0 :(得分:0)

使用与代码相同的样式,这应该有效:

IplImage i = cvCreateImage(cvGetSize(result), IPL_DEPTH_8U, 1);
cvConvertScale(result, i, 1, 0);