DM642 float转int数怎么转。

2019-08-04 21:47发布

本帖最后由 jiangwenj02 于 2014-5-14 10:58 编辑

直接(int)最后显示出来的画面总是感觉不太对。目前实现的功能是将图像的中间部分放大到整幅面。程序走的是逐点计算的方法,并且最下方有大概50行左右是全黑 {MOD}的一点都没用。当放大比例为1时,除了最下方的全黑之外其他的都正常。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
jiangwenj02
1楼-- · 2019-08-05 00:24
附程序
void zoom( unsigned char* pSorc, unsigned char* pDest, int Height, int Width, int numPixels, int numLines )
{
        float Ratio_X = Width/720;
        float Ratio_Y = Height/576;
        int Offset_X = (720-Width)/2;
        int Offset_Y = (576-Height)/2;
        int j = 0;
        int i = 0;
        int X = 0;
        int Y = 0;
       
        for( j = 0; j < numLines; j++ )
        {
                for( i = 0; i < numPixels; i++ )
                {
                        Y = (int)( j*Ratio_Y + Offset_Y );
                        X = (int)( i*Ratio_X + Offset_X );
                       
                        *(pDest + j*numLines + i) = *( pSorc + Y*numLines + X );
                }
        }
       
}
zhangmangui
2楼-- · 2019-08-05 06:06
只能强制转换了吧 最下方全黑不会是数据转换带来的吧
jiangwenj02
3楼-- · 2019-08-05 11:09
 精彩回答 2  元偷偷看……
zhangmangui
4楼-- · 2019-08-05 14:23
jiangwenj02 发表于 2014-5-21 10:07
谢谢了。下方的大黑条可能是数据溢出带来的问题。当将比例强制为0.5的时候,中间是出现条纹状的东西,但 ...

呵呵   你再研究研究
不知不觉掌握了马赛克是怎么做成的!
jiangwenj02
5楼-- · 2019-08-05 18:40
zhangmangui 发表于 2014-5-21 22:04
呵呵   你再研究研究
不知不觉掌握了马赛克是怎么做成的!

...........我结贴了。谢谢你了。我自己再钻研钻研吧。
zhangmangui
6楼-- · 2019-08-05 19:53
jiangwenj02 发表于 2014-5-22 15:31
...........我结贴了。谢谢你了。我自己再钻研钻研吧。

看来你还不会结贴啊    论坛里面搜搜有教你如何结贴的

一周热门 更多>