标签:
想不到今天会被一个自己早就已经知道的问题绊了一晚上!!!(opencv中图像数据的存储,依据不同的输入图像尺寸会进行字节补齐,所以每行占用的字节数有待商榷)
1. 图像数据使用实际范围是unsigned char (0~255),但是在opencv的IplImage的imageData中定义的是char,所以如果仅仅是数据的copy没有影响,但是如果
是对数据进行理解计算,就需要考虑到数据的强制类型转换问题。最好是首先强制转换成unsigned char 然后在根据具体的计算需要进行下一步的强制类型转换,否则
计算的结果很有可能会出现负值。
2.在访问图像数据矩阵的时候,坐标index确定,但是访问数组的下标需要根据具体图像确定,看看是彩色图像还是灰度图像,图像的尺寸是否是4字节的整数倍,最好是使用widthStep
3. 在坐标系进行转换时,很有可能需要使用亚像素插值
4. 在进行新坐标计算时或者像素值计算时,计算完成之后一定要对数据的范围进行测试,防止数组访问越界,像素值溢出
5.当图像出现层级错位时,很可能是是否是彩色图像和通道数的错误、或者是每行占用字节的错误。
标签:
原文地址:http://www.cnblogs.com/sunniflyer/p/4343049.html