微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > DSP图像格式转换YCrCb到RGB

DSP图像格式转换YCrCb到RGB

时间:10-02 整理:3721RD 点击:
最近在做DSP图像处理,需要将采集到的图像从YCrCb转换成RGB格式后,进行图像处理,再将RGB图像转换成YCrCb进行显示,下面是我的图像处理的程序,不知道为什么显示出来的结果总是一片黑,求高手指点。
void videoReverse()
{
      int i,j,temp;
        int r,g,b,y,cr,cb,pr,pg,pb;
Uint8 *Y,*Cr,*Cb;
for(i=intALines;i > 1) + j);
            Cb=(Uint8 *)(tempCbbuffer + i * (numPixels >> 1) + j);
            y=(*Y);cr=(*Cr);cb=(*Cb);
            y-=16;cr-=128;cb-=128;
            r=1.164*y+1.596*cr;
            g=1.164*y-0.813*cr-0.392*cb;
            b=1.164*y+2.017*cb;
            if ( r>255 )        r=255;
                        else if ( r 255 )        g=255;
                        else if ( g 255 )        b=255;
                        else if ( b 255 )          temp=255;
                        else if ( temp > 1) + j)=pb;
                        pr=abs(0.439*r-0.368*g-0.071*b+128);
            *(Uint8 *)(tempCrbuffer + i * (numPixels >> 1) + j)=pg;
            Y++;Cr++;Cb++;
}
}
for(i=numLines/2+intALines;i > 1) + j);
            Cb=(Uint8 *)(tempCbbuffer + i * (numPixels >> 1) + j);
            y=(*Y);cr=(*Cr);cb=(*Cb);
            y-=16;cr-=128;cb-=128;
            r=1.164*y+1.596*cr;
            g=1.164*y-0.813*cr-0.392*cb;
            b=1.164*y+2.017*cb;
            if ( r>255 )        r=255;
                        else if ( r 255 )        g=255;
                        else if ( g 255 )        b=255;
                        else if ( b 255 )          temp=255;
                        else if ( temp > 1) + j)=pb;
                        pr=abs(0.439*r-0.368*g-0.071*b+128);
            *(Uint8 *)(tempCrbuffer + i * (numPixels >> 1) + j)=pg;
            Y++;Cr++;Cb++;
        }
}                       
}

我倒,这是你的算法。
我只有一个建议,做软件算法之前,现在pc上的软件上,进行仿真,最后再在dsp上进行移植。

兄弟,我们公司需要这样的人才,待遇优厚,有意向请联系:QQ  316047404

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top