1. saturate_cast防止数据溢出
//使用图像混合例子中的C语言版本演示
for (int i=0; i<src1.rows; i++)
{
const uchar* src1_ptr = src1.ptr<uchar>(i);
const uchar* src2_ptr = src2.ptr<uchar>(i);
uchar* dst_ptr = dst.ptr<uchar>(i);
for (int j=0; j<src1.cols*nChannels; j++)
{
dst_ptr[j] = saturate_cast<uchar>(src1_ptr[j]*alpha + src2_ptr[j]*beta + gama);//gama = -100, alpha = beta = 0.5
<span style="white-space:pre"> </span>//dst_ptr[j] = (src1_ptr[j]*alpha + src2_ptr[j]*beta + gama);
}
}
imshow("output2",dst);
2. OpenCV移植到DSP上
EMCV全称为Embedded Computer Vision Library,是一个可在TI DM64x系列DSP上运行的计算机视觉库。EMCV提供了跟OpenCV完全一致的函数接口,通过EMCV,你可以轻松的将你的OpenCV算法移植到 DSP,甚至不用改一行代码。 目前EMCV已经支持IplImage, CvMat,CvSeq等基本数据结构,可使用cvCreateImage等创建和释放图像,以及contour检测等。 参考
http://emcv.svn.sourceforge.net/svnroot/emcv/trunk/
http://emcv.svn.sourceforge.net/svnroot/emcv/trunk/
【3】 DSP入门,基础知识扫盲