注册 登录
查看: 923|回复: 6

关于山外LCD彩屏的N多疑问,想必你也会遇到。。

[复制链接]
发表于 2013-5-10 12:29:10 | 显示全部楼层 |阅读模式
疑问1;为什么我显示摄像头中心线的数据有时会飙到800多,900多,我的分辨率才160*120,是负数影响??我中心线没有负数,我让LCD显示-1时,显示的是400多,用的是LCD_Num,我的参数应该没问题,因为车能跑,显示不正确而已
疑问2:在LCD上描绘黑线有具体代码吗?我打算把中心线和黑线描绘出来,用LCD_Point的时候,那些线在屏幕上乱打,可能还要进行放缩,时间太紧就没有研究下去
疑问3:LCD可以进行反过来写吗?
疑问4:怎么让LCD显示滤波后的二维数组的图像,而不是原图像(没有被解压)
我去吃饭咯,有空再补充


回复

使用道具 举报

发表于 2013-5-10 12:30:49 | 显示全部楼层
支持一下
回复 支持 反对

使用道具 举报

发表于 2013-5-10 13:40:54 | 显示全部楼层
疑问1;
LCD_Num 是用来显示数据,但不会对后面的位数进行擦除。
假设 你用 LCD_Num 来显示 40,再在原先位置显示 4 ,你看到的结果都是 40 。原因是第二次显示的时候并没有擦掉 后面的 0。
如果你想清掉后面的0,可以用 LCD_Num_C 和 LCD_Num_BC 函数。这两个函数都带 清掉后面的数据功能,详情请看代码的注释。
另外,我们的函数不支持显示负数功能,如果需要显示,则需要你们自行添加这些功能。

疑问2: LCD_Point 是直接在 屏幕上画点 ,坐标不是相对应图片,而是相对LCD的,如果你的图像是进行缩放过,那么你也应该自行转换对应的坐标。

疑问3:
反过来写 ,是镜像显示的意思?
你自行修改我们的代码来实现吧,我们没提供这方面的函数。

疑问4:
显示灰度图像,试下用这代码:(没测试好)
LCD.h 的宏定义,之前提供的代码可以能有错
  1. #define GRAY_2_RGB565(gray)                ((u16)((((u8)(gray)>>3)<<11)|(((u8)(gray)>>2)<<5)|((u8)(gray)>>3)))

  2. void LCD_Img_gray       (Site_t site, Size_t size, u16 *img);                   //显示灰度图像
  3. void LCD_Img_gray_Z     (Site_t site, Size_t size, u16 *img, Size_t imgsize);   //显示灰度图像(可缩放)
LCD.c里增加这函数:
  1. void LCD_Img_gray(Site_t site, Size_t size, u16 *img)
  2. {
  3.     u32     total = (size.H * size.W);
  4.     u16     imgtemp;
  5.     u8     *pimg = (u8 *)img;

  6.     LCD_PTLON(site, size);                         //开窗

  7.     LCD_RAMWR();                                //写内存

  8.     while(total--)
  9.     {
  10.         imgtemp     = (u16) * (pimg++);
  11.         imgtemp = GRAY_2_RGB565(imgtemp);
  12.         LCD_WR_16Data_BIG( imgtemp );        //写图像数据
  13.     }
  14. }


  15. void LCD_Img_gray_Z(Site_t site, Size_t size, u16 *img, Size_t imgsize)
  16. {

  17.     u32 temp, tempY;
  18.     u16 x, y;
  19.     u16 X, Y;
  20.     u8 *pimg = (u8 *)img;
  21.     u16 rgb;

  22.     LCD_PTLON(site, size);                         //开窗

  23.     LCD_RAMWR();                                //写内存

  24.     for(y = 0; y < size.H; y++)
  25.     {
  26.         Y = ( (  y * imgsize.H  + (size.H >> 1)) / size.H) ;
  27.         tempY = Y * imgsize.W ;

  28.         for(x = 0; x < size.W; x++)
  29.         {
  30.             X = (( x * imgsize.W  + (size.W >> 1)) / size.W) ;
  31.             temp = tempY + X;
  32.             rgb = GRAY_2_RGB565(pimg[temp]);    //
  33.             LCD_WR_16Data_BIG(rgb);
  34.         }
  35.     }
  36. }
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-10 19:33:31 | 显示全部楼层
我拷进去,显示不太正常,图像会偏移,是不是以前那个代码也导致了图像偏移,
回复 支持 反对

使用道具 举报

发表于 2013-5-10 20:47:29 | 显示全部楼层
feeling_kill 发表于 2013-5-10 19:33
我拷进去,显示不太正常,图像会偏移,是不是以前那个代码也导致了图像偏移,

试下把函数里面调用的 LCD_WR_16Data_BIG 改成 LCD_WR_16Data
回复 支持 反对

使用道具 举报

发表于 2013-7-18 09:11:47 | 显示全部楼层
这两个文件我怎么没有啊  就是写彩屏的文件 啊   求大虾
回复 支持 反对

使用道具 举报

发表于 2013-7-18 10:01:07 | 显示全部楼层
无情一刀 发表于 2013-7-18 09:11
这两个文件我怎么没有啊  就是写彩屏的文件 啊   求大虾

山外 K60 光盘资料下载 - 智能车初学入门扫盲资料 - 山外-vcan123论坛
http://www.vcan123.com/forum.php ... &extra=page%3D1
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部