2010-02-15 38 views
0

单通道图像是我的输入。 (defalut IPL_DEPTH_8U)opencv:在图像像素访问的双指针算法中执行暂停

我将输入图像的每个像素乘以标量浮点数(如2.8085)(作为我的算法的一部分)。

因此,这需要我增加了深度和改变图像类型IPL_DEPTH_64F

但每当我想我的图像数据类型更改为IPL_DEPTH_64F并具有双重*访问每个像素,我的程序执行突然停止,破坏 “file.exe已停止工作,导致程序停止工作。”

这是否意味着,我的处理器无法处理双ptr算术?

+0

你有没有试过在调试器下运行你的程序? – 2010-02-15 20:22:05

回答

1

您必须创建一个新图像 - 我建议制作一个深度为IPL_DEPTH_64F的新图像,并将每个像素设置为合适的值(2.8085 *值)。

另外,你可以发布你使用的代码?

+0

你说得对。创建64depth的新映像然后执行cvconvertscale而不是指针类型转换更容易。 – 2010-02-16 17:36:34

+0

指针类型转换不会起作用,因为分配的内存将为'IPL_DEPTH_8U'的sizeof(uchar)* heigh * width' – Jacob 2010-02-16 18:07:31