在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6043|回复: 3

[求助] 为什么用python读出的图像数据与用verilog读出的数据不一样呀?

[复制链接]
发表于 2013-6-3 11:02:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位:
      刚开始学习python,想用python为我的验证平台提供一些输入源,比如说,把1080p的图像进行抽行处理等。但是突然出现一个问题: 就是我使用verilog读取BMP的图像跟使用python读出的图像数据完全不一样啊。
      恩,我的python是这样的:
>>>import Image
>>>im=Image.open("./720p/lr_0.bmp")
>>>dim=im.load()
     然后我想看看图像第一行的几个像素:
>>>dim[0,0]
(0,0,0)
>>>dim[1,0]
(0,0,0)
>>>dim[2,0]
(0,0,0)
>>>dim[3,0]
(0,0,0)
>>>dim[4,0]
(16,21,34)

    而使用verilog读取图像:
fp=$fopen("./720p/lr_0.bmp","rb" );
$fseek(fp,54,0);
repeat(10) begin
    $fread(b,fp);
    $fread(g,fp);
    $fread(r,fp);
    $display("%h %h %h“,r,g,b);
end
出来结果是:
00 00 00
00 00 00
00 00 00
00 00 00
00 00 00
00 00 00
06 05 04
08 07 06
07 06 04
05 03 02

我就不明白了,为什么会这样啊。
发表于 2013-6-3 13:19:24 | 显示全部楼层
回复 1# oscillator_cn1


    $fseek(fp,54,0);
是做什么的?
 楼主| 发表于 2013-6-3 14:48:04 | 显示全部楼层
回复 2# sjtusonic

移动指针到实际图像数据开始的地方。bmp格式中前54个byte是文件头信息。
发表于 2013-6-7 16:49:15 | 显示全部楼层
http://en.wikipedia.org/wiki/BMP_file_format
BMP的格式也有好多个版本,54 byte文件头的只是其中一种而已。
lz还是好好分析一下文件,确定一下文件格式再开始做verilog
分析数据。

是不是可以考虑把文件传上来?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-6 11:15 , Processed in 0.018558 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表