怎么样判断图像是否是8位灰度图像

LWLIFE 2010-08-26 07:09:52
从第三方接收图片JPG或者BMP(定义为8位灰度图片),我加载图片后怎么判断图片的是否是否8位灰度的图片?另外我加载后把PixelFormat设置为pf8bit后图像就失真好大了,为什么加载一个普通的其他图像就不会呢?谢谢指教
...全文
1054 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
niren214 2010-08-30
  • 打赏
  • 举报
回复
JPG和BMP都有固定的文件格式,BMP的话有一个 HEADER 结构,可以获得所有信息,
LWLIFE 2010-08-30
  • 打赏
  • 举报
回复
请高人来指点呀
LWLIFE 2010-08-29
  • 打赏
  • 举报
回复
QQ空间的图不让链接原图A地址
http://b52.photo.store.qq.com/http_imgload.cgi?/rurl4_b=37d783c1127017e1bfaf5abaf0fe724f3345fdd9b1a9c2d0a29194ac01cb760c1aa71d972fa20b1f50d2ddf56ddc7c525ee57555278bc033287a700e431f1c2ee4cad36c7f920a663535e81d9cb25ffb08d7c747&a=42&b=52
失真出现断层地址

http://b50.photo.store.qq.com/http_imgload.cgi?/rurl4_b=37d783c1127017e1bfaf5abaf0fe724fe46a5647c5dfd55ef64d6ad7bffd717baf4496e7ba901cfd15f008e16f7f71dd4b7b326c53482d2be492536c422bec7ed3c11cf74dceeb7acbe20eda557f409c93b5f15f&a=49&b=50
futulove 2010-08-28
  • 打赏
  • 举报
回复
看不到图
LWLIFE 2010-08-28
  • 打赏
  • 举报
回复

这是原图A

这是复制后B出现了断层现象

生成两个Graphics::TBitmap,bmp1,bmp2,并设置PixelFormat都为pf8bit,bmp1加载原图A,保存没有变化,bmp2用StretchBlt或者StretchDraw复制bmp1里的图像就变成失真的那张,出现了断层现象。
LWLIFE 2010-08-28
  • 打赏
  • 举报
回复
我加载完一张图片后设置了bmp->PixelFormat为pf8bit,然后我查看这属性还是0,真的晕了
LWLIFE 2010-08-28
  • 打赏
  • 举报
回复
谢谢各位的回复
[Quote=引用 7 楼 geochway 的回复:]

TBitmap中有个属性叫PixelFormat,如果它等于pf8bit说明是256色图像,
然后判断一下调色板的颜色表,是不是都是灰度色.

也可以逐点扫描,判断像素R,G,B之间的均方差,如果所有均方差都小于某个阈值,
就可以认为是灰度的.

如果是24位图像转为256色图像,要对颜色进行聚类分析,以优化到256种而保持较小失真.
[/Quote]
我判官了bmp->PixelFormat加载后是0?逐点扫描这个应该怎么做,小弟对图像处理不是很熟悉,谢谢。
geochway 2010-08-28
  • 打赏
  • 举报
回复
TBitmap中有个属性叫PixelFormat,如果它等于pf8bit说明是256色图像,
然后判断一下调色板的颜色表,是不是都是灰度色.

也可以逐点扫描,判断像素R,G,B之间的均方差,如果所有均方差都小于某个阈值,
就可以认为是灰度的.

如果是24位图像转为256色图像,要对颜色进行聚类分析,以优化到256种而保持较小失真.
LWLIFE 2010-08-27
  • 打赏
  • 举报
回复
LoadFromFile是可以加载图像,但是加载后怎么区分是否是8位的灰度图呢
图像失真就是图像有断层的现象了
我来看看CB 2010-08-27
  • 打赏
  • 举报
回复
Image->LoadFromFile应该可以吧?
失真是不是你固定住显示图片区域大小
LWLIFE 2010-08-27
  • 打赏
  • 举报
回复
O,谢谢呀,有没有在指点下的呢?
xuzhu3000 2010-08-27
  • 打赏
  • 举报
回复
难道显示的时候你不转化为BMP格式的么?
xuzhu3000 2010-08-27
  • 打赏
  • 举报
回复
BitBlt
draculamx 2010-08-26
  • 打赏
  • 举报
回复
JPG和BMP都有固定的文件格式,BMP的话有一个 HEADER 结构,可以获得所有信息,JPG的话不太熟悉,你需要去查查。。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧