CV_CAST_8U(val);的意义!

来源:互联网 发布:c语言编程界面 编辑:程序博客网 时间:2024/03/29 21:31

要明白这句话,关键是要找到这句话的定义!

怎么找?方法我写在另一篇文章中~

这里把找到的宏写义写下来!

/* general-purpose saturation macros */
#define  CV_CAST_8U(t)  (uchar)(!((t) & ~255) ? (t) : (t) > 0 ? 255 : 0)
#define  CV_CAST_8S(t)  (schar)(!(((t)+128) & ~255) ? (t) : (t) > 0 ? 127 : -128)
#define  CV_CAST_16U(t) (ushort)(!((t) & ~65535) ? (t) : (t) > 0 ? 65535 : 0)
#define  CV_CAST_16S(t) (short)(!(((t)+32768) & ~65535) ? (t) : (t) > 0 ? 32767 : -32768)
#define  CV_CAST_32S(t) (int)(t)
#define  CV_CAST_64S(t) (int64)(t)
#define  CV_CAST_32F(t) (float)(t)
#define  CV_CAST_64F(t) (double)(t)

可见  CV_CAST_8U(val);就是把val强制转化为uchar类型,如果val>=255 则val=255 如果val<=0 则val=0;


----------------------------------------------
欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号248787278

0 0